【发布时间】:2021-09-19 20:11:21
【问题描述】:
我有一个 csv 文件,其中包含带有 /n 字符的列以及 /r/n 列,并且该列包含在引号中,如下所示 - “这是某事/r/n 某事/n 随便”
示例数据(复制粘贴到记事本中并保存为 .csv)
注意 - 请在 This is Description 之后使用转义符并输入 (/r/n),并且只能在我无法将其包含在此编辑器中的内容之后输入。)-
INC2289067,"这是说明 某物 另一件事”,2020-14-07 01:14:00,2020-16-07 09:35:00,CORP - CAD L2,GIS AP PC 支持,4 - 低,已解决(永久),错误,2
我试过这段代码 -
reader.onload = () => {
let csvData = reader.result;
let csvRecordsArray = (<string>csvData).split(/\r\n/);
}
这就是我的 csvRecordsArray 在第二列的“这是描述..”之后因为 /r/n 被拆分的方式 -
0: "INC2289067,\"This is Description"
1: "Something\nAnotherthing\",2020-14-07 01:14:00,2020-16-07 09:35:00,CORP - CAD L2,GIS AP PC Support,4 - Low,Solved (Permanently),FALSE,2"
现在,当出现 /r/n 或 /n 时,如果没有像 NGXCSVParser 这样的第三方库,我如何在不破坏我的列的情况下读取这个 csv 文件。 NGXCSVParser 做得很好,但由于兼容性问题,我无法在我的项目中使用它,因为我们使用的是 Angular 6。请帮助。
【问题讨论】:
-
你必须寻找平衡的引号,而不是简单的拆分。第三方图书馆已经想出了如何做到这一切。您知道的,不仅限于名称中带有“NG”的那些。有成千上万的人会接受一个字符串并对其进行解析。
-
@HereticMonkey 我怎么会错过它?非常感谢您分享答案。
标签: angular typescript csv