如何将包含逗号的值写入 csv 文件?

Posted

技术标签:

【中文标题】如何将包含逗号的值写入 csv 文件?【英文标题】:How to write a value that contains a comma to a csv file? 【发布时间】:2014-03-03 10:25:12 【问题描述】:

我有一个 javascript 程序可以将值写入 csv 文件。 我有一个包含逗号的值。 这该怎么做? 我是 javascript 的新手。 你能帮帮我吗?

我试过双引号

content += record.number +","+ record.category +","+ record.status +","+ record.approval_status +","+ record.requested_by +","+ record.assigned_to +","+record.assign_dept +","+ record.coordinator +","+ record.coord_phone +","+ record.planned_start +","+ record.planned_end +","+record.reason +","+ record.risk_assessment +","+ record.logical_name +","+ "record.assets" +","+ record.request_date +","+ record.subcategory +","+ record.priority_code +","+ record.impact +","+  record.sched_outage_start +","+ record.sched_outage_end  + "\n";

record.assets 是包含逗号的字段。

谢谢, 奇特拉

【问题讨论】:

只需引用分隔 CSV 输出中的列。 试试这个***.com/questions/17836273/… 【参考方案1】:

用引号将它们关闭并转义双引号?

http://en.wikipedia.org/wiki/Comma-separated_values

1999,Chevy,"Venture""加长版""",4900.00

在你的情况下:

"," + "record.assets" + ","

应该是

"," + '"' + record.assets.replace(/"/g,'""') + '"' + ","

【讨论】:

我试过这个......但它仍然与“一起写在单独的字段中 你在读什么?你告诉程序你有引号分隔的数据吗? 实际上有产品,其中提到的javascript程序充当触发器,当系统中进行更新时,它会写入csv文件。 该字段的值将类似于 --> [C++ object Datum] - "CAR11BANBAN021129", "CAR11BANMYS021149"【参考方案2】:

您可以将文本放在引号之间。 您不必使用逗号,您可以使用“;”也是(荷兰语/德语格式,但效果很好) --> http://en.wikipedia.org/wiki/Comma-separated_values 1997;福特;E350;2,34

【讨论】:

我无法控制该字段,该字段中有一个逗号 您可以使用 ascii 字符并在之后进行 str 替换。即:1997,Ford,E350,"Super% Luxury truck" 并制作一个 str_replace(yourString,"%",",") 它与所有其他字符一起使用(如果您需要在数据中传递 %) 感谢 Azrael_404。有效。我用分号替换逗号并插入到 csv

以上是关于如何将包含逗号的值写入 csv 文件?的主要内容,如果未能解决你的问题,请参考以下文章

导入带有“当其中一些包含”以及逗号的值的 CSV 文件

如何使用 R 将数据帧/矩阵写入 CSV,但值中有逗号

CSV 解析包含双引号和逗号的字符串

如何将同时具有逗号和空格分隔符的 CSV 文件转换为只有空格分隔符的 csv

如何在csv列中使用逗号[重复]

如何从csv文件中读取包含逗号的列表作为列?