有啥方法可以在CSV中输入用逗号分隔的数字?

Posted

技术标签:

【中文标题】有啥方法可以在CSV中输入用逗号分隔的数字?【英文标题】:Any way to input numbers separated by comma in CSV?有什么方法可以在CSV中输入用逗号分隔的数字? 【发布时间】:2020-01-08 08:36:33 【问题描述】:

我需要上传一个包含逗号分隔数字的 CSV 文件。

有什么办法不让它将选项卡解释为 CSV 分隔符? 还是我必须使用 TSV 文件?

【问题讨论】:

值应该用引号括起来,例如:Value,"1,2,3",42。然后php可以正确处理这个。或者确实使用另一个分隔符 - 制表符或;,但不是, 到目前为止你写的代码是什么? 这能回答你的问题吗? Is there a way to include commas in CSV columns without breaking the formatting? 【参考方案1】:

您可以在使用fgetcsv函数时更改多种设置:

fgetcsv (
    resource $handle
    [, int $length = 0
    [, string $delimiter = ","
    [, string $enclosure = '"'
    [, string $escape = "\\" ]]]]
)

您可以将分隔符设置为您想要的任何字符(空格、制表符、竖线等)。

如果您需要包含通常会破坏文件格式的内容(例如,当逗号用作分隔符时,内容中包含逗号),请使用附件。默认为双引号。例如:

身份证,姓名

1,泰德·门德

2,特蕾西·盖尔

4,小约翰·迪

ID 为 4 的行会破坏文件,因为名称中有一个逗号,但是用包围字符包裹它会告诉解析器忽略其中的破坏字符。以下是有效的,并且 Jr 之前的逗号不会导致错误或误读行:

身份证,姓名

1,“特德·门德”

2、《特蕾西·盖尔》

4,“小约翰迪”

如果您仍然需要在封闭的字符串中使用它(例如,双引号内容中的双引号),则使用最后一个参数,转义字符。您可以将转义字符放在双引号内容中的任何双引号字符之前,以确保它不会破坏格式:

id、标题、类型

1、“上”、“电影”

2、《乱世佳人》、《电影》

3, "\"巫师 3\"", "电子游戏"

请注意,在视频游戏标题中的双引号之前有一个反斜杠。这允许解析器知道标题周围的双引号应该是标题字符串的一部分,而不是列内容的结尾。

【讨论】:

以上是关于有啥方法可以在CSV中输入用逗号分隔的数字?的主要内容,如果未能解决你的问题,请参考以下文章

CSV (逗号分隔值文件格式)

CSV (逗号分隔值文件格式)

字符串 CSV解析 表格 逗号分隔值

pyparsing用分号而不是逗号解析csv文件

用逗号分隔 HashMap 输出到 .csv

当某些数字包含逗号作为千位分隔符时如何读取数据?