node.js - 将 csv 转换为 JSON,并在文档顶部添加注释 (Node.js)
问题描述
我在 NodeJS 中使用 csvtojson 库将 csv 文件转换为 JSON。
var csv = require("csvtojson");
async function convert() {
const jsonArray=await csv({delimiter:[";"]}).fromFile("file.csv");
console.log(jsonArray);
}
问题是我的 csv 文件中的前两行包含注释 (#):
# Version 1.00
#
freq[Hz];re:Trc1_S11;im:Trc1_S11;re:Trc2_S21;im:Trc2_S21;
2.400000000000000E+009;1.508471667766571E-001;1.125726923346520E-001;1.501466613262892E-004;-3.452933859080076E-003;
2.400166666666667E+009;1.506395637989044E-001;1.104702129960060E-001;1.065352989826351E-004;-3.356512635946274E-003;
2.400333333333334E+009;1.510340869426727E-001;1.083744764328003E-001;8.569851343054324E-005;-3.419617656618357E-003;
2.400500000000000E+009;1.511266380548477E-001;1.056981831789017E-001;7.480625936295837E-005;-3.567710286006331E-003;
由于前两行,返回的 JSON 已损坏:
有没有办法跳过/忽略这些注释行?我有很多 ov csv 文件,每个文件的前两行都有注释。
解决方案
您可以尝试在解析之前替换这些行(未测试):
const jsonArray = await csv({delimiter:[";"]}).fromFile("file.csv")
.preRawData(csvRawData => csvRawData.replace(/^#.*\n/gm, ''));
推荐阅读
- eclipse - Eclipse Neon 深色主题 - 顶部栏上的黑色字体
- python - 保存自定义插件时如何刷新页面?
- angular - 如何解决 ReferenceError - 没有为 Karma Jasmine 测试定义 gtag?
- windows - Powershell脚本在作为后台进程执行时暂停
- php - 无论纳税国家如何,始终支付相同的价格
- c# - DataTable 中的过滤不适用于 DateTime.Now 或 DateTime.AddDays
- java - 无法从 org.springframework.orm.hibernate5.LocalSessionFactoryBean 实例化 sessionFactory
- java - Maven - Spring - ServletContainerInitializer 处理期间的错误
- json - 用于验证键的 SoapUI 脚本断言存在而不验证键中的值
- python - 蟒蛇日志记录。自定义字段