javascript - 将 csv 转换为 json 返回空的 json 文件
问题描述
我正在尝试使用来自 npm 的 convert-csv-to-json 包将 csv 文件转换为 json。我能够从 url 获取 csv 并创建了“data.csv”,但相应的 json 文件只是一个空数组。我是在调用错误的文件路径,还是有一些 js 怪癖与我缺少的承诺。我对js很陌生。
const csvToJson = require('convert-csv-to-json');
const fs = require("fs");
const https = require("https");
const file = fs.createWriteStream("data.csv");
https.get("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_US.csv", response => {
var stream = response.pipe(file);
stream.on("finish", function() {
console.log("done");
});
});
const input = './data.csv';
const output = './data.json';
csvToJson.fieldDelimiter(',')
.formatValueByType()
.generateJsonFileFromCsv(input, output);
解决方案
Javascript是异步的。试试下面的代码。
const csvToJson = require('convert-csv-to-json');
const fs = require("fs");
const https = require("https");
const file = fs.createWriteStream("data.csv");
const input = './data.csv';
const output = './data.json';
https.get("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_US.csv", response => {
var stream = response.pipe(file);
stream.on("finish", function() {
console.log("done");
csvToJson.fieldDelimiter(',')
.formatValueByType()
.generateJsonFileFromCsv(input, output);
});
});
推荐阅读
- testing - 使用赛普拉斯点击图片
- json - Flutter 获取表单谷歌表格但日期时间无法转换
- kubernetes - 为什么部署在两个不同命名空间上的 Kube 对象能够相互通信
- r - 将字符添加到字符串中的特定单词
- c++ - c ++将数据写入数组中的给定位置
- windows - 如果我们不能真正使用它,为什么会有 BTHPROTO_L2CAP?
- javascript - 我想将 TouchEvent 添加到我的滑动脚本中
- postgresql - 获取时间戳而不是日期时间对象,sqlalchemy python 2.7
- python - 将 4 字节 HEX 转换为单个字节
- kubernetes-helm - 如何将 helmfile values.yaml 中的环境变量传递给图表的 values.yaml?