-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdonorTransformer.cjs
More file actions
52 lines (45 loc) · 1.42 KB
/
Copy pathdonorTransformer.cjs
File metadata and controls
52 lines (45 loc) · 1.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
const csv = require("csvtojson");
const fs = require("fs");
const path = require("path");
const { DateTime } = require("luxon");
const { cwd } = require("process");
const todaysDate = DateTime.now()
.setZone("America/New_York")
.toFormat("yyyy-MM-dd");
// const formattedDate = DateTime.fromFormat(todaysDate, "yyyy-MM-dd");
console.log(todaysDate);
async function transplantData() {
const jsonArray = await csv().fromFile("TransformedDonorListHeader.csv");
// console.log(jsonArray);
const transformedData = [];
let gender = "";
for (let index = 8; index < jsonArray.length; index++) {
const element = jsonArray[index];
// console.log(region);
if (element.gender !== "") {
// if has a region, set the region
gender = element.gender;
} else {
element.gender = gender;
}
element.blood_type_o = parseInt(element.blood_type_o);
element.blood_type_b = parseInt(element.blood_type_b);
delete element.A;
delete element.AB;
delete element["All ABO"];
delete element.field3;
element.report_date = todaysDate;
transformedData.push(element);
}
// console.log(transformedData);
const file = path.join(cwd(), "DatabaseDonorList.json");
console.log(file);
fs.writeFile(file, JSON.stringify(transformedData, null, 2), (err) => {
if (err) {
console.error(err);
} else {
console.log("Created new file successfully");
}
});
}
transplantData();