CSV用逗号或分号?

mem*_*und 73 csv

一般来说,CSV文件是如何构建的?用逗号或分号?有关哪一个使用的建议?

Sib*_*ter 66

在Windows中,它依赖于"区域和语言选项"自定义屏幕,您可以在其中找到列表分隔符.这是char应用程序期望的CSV分隔符.

当然,这仅在Windows应用程序中有效,例如,如果文件未使用上述分隔符,Excel将不会自动将数据拆分为列.使用Windows区域设置的所有应用程序都会出现此行为.

如果您正在编写一个Windows程序,需要在其他应用程序中导入CSV,并且您知道为目标计算机设置了列表分隔符,,那么请选择它,否则我更喜欢,;因为它会导致小数点问题,数字分组更少并没有出现在很多文本中.

  • 此更改还将影响在Excel中打开CSV文件.如果要使Windows CSV文件更兼容,请在CSV文件的顶部放置`sep =;`. (27认同)
  • 那个区域性的东西是最愚蠢的东西.csv的格式如何在不同地区之间有所不同,这意味着我的同事无法为在另一个地区拥有个人电脑的人打开或保存csv .. oucch (13认同)
  • >"我更喜欢;因为它会导致小数点问题减少".这是错误的解决方案.如果您的分隔符是逗号而单元格的值也包含逗号,则必须将该值括在双引号中.例如:111,222,"33,5",444,"55,98",666 (9认同)

ada*_*shr 47

我会坚持使用逗号,因为它被广泛认可和理解.请务必引用您的值并转义您的报价.

ID,NAME,AGE
"23434","Norris, Chuck","24"
"34343","Bond, James ""master""","57"
Run Code Online (Sandbox Code Playgroud)

  • 用很短的例子来覆盖很多csv场景的+1 (4认同)
  • 错误!在我的机器中,如果我使用逗号作为分隔符编写CSV文件并在Excel中打开它,我会让整行只占用一列!它必须是一些Windows区域设置! (4认同)
  • @sergiol,我不确定这如何使他们所说的无效。 (3认同)

Luc*_*VdV 43

CSV是标准格式,在RFC 4180(2005年)中概述,因此不缺乏标准. https://www.ietf.org/rfc/rfc4180.txt

甚至在此之前,CSV中的C始终代表逗号,而不是代码为semiColon :(

很可惜微软一直在忽视这一点,并且仍然坚持他们几十年前把它变成怪物(是的,我承认,那是在创建RFC之前).

  • 每行一条记录,除非在引用文本中出现换行符(见下文).
  • COMMA作为列分隔符.永远不要用分号.
  • PERIOD作为数字的小数点.从不逗号.
  • 包含以"双引号"括起来的逗号,句号和/或换行符的文本.
  • 只有当文本用双引号括起来时,文本中的引号才会通过加倍来逃避.这些示例代表相同的三个字段:

    1,"本文包含""引号""",3

    1,本文包含"引号",3

该标准不包括日期和时间值,我个人尝试坚持ISO 8601格式,以避免日/月/年 - 月/日/年混淆.

  • 如果首先选择分号,那么就不会出现那种怪异.逗号不仅用于小数或千位分隔符,而且常用于文本,与分号不同.分号本来是一个更好的选择,因为它更为罕见...... (13认同)
  • 当我说怪物时,我的意思是微软让它依赖于语言.Excel会打开CSV文件并将其视为电子表格,并且可以以CSV格式保存电子表格,但如果法国或比利时的某个人尝试打开它,则Excel中保存的CSV文件(例如)将无效,反之亦然.无论什么标准对我来说都是好的,只要有适合每个人的标准. (11认同)
  • *所有*互联网标准称为RFC。 (5认同)
  • *“ CSV是RFC 4180(在2005年)中概述的标准格式,因此不乏标准。” *不幸的是,RFC 4180是对注释的要求,而不是标准。它在顶部说-*“没有指定任何类型的Internet标准。” *随后,它说RFC 4180 *“记录了大多数实现似乎遵循的格式。” *看来这是由小型私人公司创建,与任何标准的主体无关。这是一个很好的起点,但是不幸的是,那里有很多不遵循此“标准”的CSV文件。 (4认同)
  • 但是,当它们是标准的时,它们并没有声明它们并不是要成为规范性的。相反,它们内部有许多规范性部分,而RFC 4180则不是这样。 (2认同)

Raf*_*ino 33

同样相关,但特别要擅长,看看这个答案另一个建议,在CSV的开头插入一行

"sep=,"
Run Code Online (Sandbox Code Playgroud)

通知excel期望哪个分隔符

  • 它可以与Excel一起使用,但是Microsoft Power BI无法识别它。 (3认同)

小智 6

1.>将文件格式更改为.CSV(以分号分隔)

为了获得理想的结果,我们需要临时更改delimiterExcel选项”中的设置:

Move to File -> Options -> Advanced -> Editing Section
Run Code Online (Sandbox Code Playgroud)

取消选中“使用系统分隔符”设置,并在“小数分隔符”字段中输入逗号。

现在,以.CSV格式保存文件,它将以分号分隔的格式保存。


小智 5

最初它是一个逗号,但由于逗号通常用作小数点,它不会是如此好的分隔符,因此其他像分号,主要是依赖于国家

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