我需要上传一个包含逗号分隔数字的CSV文件。
有什么办法不让它解释为CSV分隔符?还是我必须使用TSV文件?
谢谢。
[使用fgetcsv功能时可以更改各种设置:
fgetcsv ( resource $handle [, int $length = 0 [, string $delimiter = "," [, string $enclosure = '"' [, string $escape = "\\" ]]]] )
您可以将分隔符设置为所需的任何字符(空格,制表符,管道等)。
附件用于如果您需要包含通常会破坏文件格式的内容(例如,当逗号用作分隔符时,内容中包含逗号)。默认为双引号。例如:
id,名称
1,Ted Mend
2,特雷西·盖尔
4,约翰·迪伊,小
ID为4的行会中断文件,因为名称中有逗号,但是用enlosure字符将其包装起来会告诉解析器忽略其中的中断字符。以下内容将是有效的,并且在Jr之前的逗号不会导致错误或错误读取行:
id,名称
1,“ Ted Mend”
2,“特雷西·盖尔”
4,“约翰·迪伊,小”
如果仍需要在封闭的字符串中使用它,则使用最后一个参数,即转义字符(例如,双引号内容中的双引号)。您可以将转义字符放在双引号内容中的任何双引号字符之前,以确保它不会破坏格式:
id,标题,类型
1,“上”,“电影”
2,“乱世佳人”,“电影”
3,“ \”巫师3 \“”,“视频游戏”
请注意,视频游戏标题中的双引号之前应加反斜杠。这使解析器知道标题周围的双引号应该是标题字符串的一部分,而不是列内容的结尾。