通常构建的CSV文件如何?用逗号或分号? 任何建议使用哪一个?含逗号或分号的CSV?
回答
在Windows中,它依赖于“区域和语言选项”自定义屏幕,您可以在其中找到列表分隔符。这是Windows应用程序期望的CSV分隔符。
当然,这只对Windows应用程序有效,例如,如果文件未使用上述分隔符,则Excel不会自动将数据拆分为列。所有使用Windows区域设置的应用程序都会出现这种情况。
如果您正在为Windows,需要在其他应用程序导入CSV写一个程序,你知道的列表分隔您的目标机器设置为,
,然后去了,否则我宁愿;
,因为它会导致少的问题带小数点,数字分组,不出现在很多文本中。
此更改还会影响在Excel中打开CSV文件。 如果您想要使Windows CSV文件更加兼容,请将'sep =;'放在CSV文件的顶部。 – papo 2015-12-30 03:23:31
>“我更喜欢;因为它会导致更少的小数点问题”。这是错误的解决方案。如果您的分隔符是逗号,并且单元格的值也包含逗号,则必须将该值放在双引号中。例如:111,222,“33,5”,444,“55,98”,666 – Elmue 2016-07-27 20:41:43
Mac Numbers应用程序也是如此。因为我无法制作Photoshop识别出的csv,所以我拉了我的头发。我将区域选项改回美国英语,并且一切都正常工作 – Tibidabo 2017-05-11 08:30:50
我会说坚持逗号,因为它被广泛认可和理解。请务必引用您的价值观并尽量避免您的报价。
ID,NAME,AGE
"23434","Norris, Chuck","24"
"34343","Bond, James ""master""","57"
最初,它是是逗号,然而作为逗号经常被用来作为一个小数点它不会是这样好的分离器,因此,其他类似的分号,大多依国家而定
http://en.wikipedia.org/wiki/Comma-separated_values#Lack_of_a_standard
CSV是RFC 4180(2005年)中概述的标准格式,所以不存在缺乏标准的情况。 https://www.ietf.org/rfc/rfc4180.txt
甚至在此之前,在CSV的C一贯主张逗号,而不是分号:(
可惜的是微软一直忽略这一点,还在坚持,他们把它变成了几十年前的怪物(是的,我承认,这是创建的RFC之前)。
- 每行记录一个,除非换行引用的文字中出现(见下文)。
- 逗号作为列分隔符。从来没有一个分号。
- PERIOD作为数字中的小数点。从来没有逗号。
- 包含在“双引号”中的逗号,句点和/或换行符的文本。
只有如果文本用双引号引起来,文本中的这种引号标志会加倍。这些例子表示相同的三个字段:
1 “这个文本包含 ”“ 引号” “”,3
1,这个文本包含 “引号”,3
的标准不包括日期和时间值,我个人试图坚持ISO 8601格式以避免日/月/年 - 月/日/年的混淆。
如果首先选择分号,那么monstruosity将永远不会出现。逗号不仅用于小数或千位分隔符,而且经常用于文本,与分号不同。分号本来是一个更好的选择,因为它更难得... – AFract 2016-06-27 09:04:04
当我说怪物时,我的意思是说微软使它与语言有关。 Excel会打开CSV文件并将它们视为电子表格,并且可以以CSV格式保存电子表格,但如果法国或比利时的某个人试图打开CSV文件,Excel中保存的CSV文件将无法工作,反之亦然。无论什么标准对我来说都行,只要有一个适用于所有人的标准。 – 2016-06-28 10:21:35
据我所见,“PERIOD作为数字中的小数点”和“包含句点的文本必须用双引号括起来”,而不是RFC4180的一部分。但我同意,这是一个很好的建议。 – Fried 2016-08-30 08:22:14
若要将逗号更改为分号作为CSV的默认Excel分隔符,请转到区域 - >其他设置 - >数字选项卡 - >列表分隔符 和类型;而不是默认的,
如果使用','作为小数点分隔符设置区域设置,并且在Excel中打开文件时,文本将出现在ONLY ONE列中。在Excel 2013中,选择第一列,转到数据 - >文本到列 - >选择'分隔符',单击'下一步',然后在'Delimiters'上只选择'Comma',你会看到'数据预览'最后点击'完成' – sergiol 2017-01-04 15:15:24
1>更改文件格式为.csv(分号分隔)
为了实现我们需要临时变更在Excel
选项delimiter
设定期望的结果:
Move to File -> Options -> Advanced -> Editing Section
取消选中“使用系统分隔符”设置,并在“小数分隔符”字段中输入逗号。
现在将文件保存在.CSV
格式中,并将以分号分隔格式保存。
嗯,只是有一些关于分号的说法。在很多国家,逗号是用于十进制而不是句号的东西。大多数欧盟殖民地,其中一半由世界组成,另一半则遵循英国标准(英国如何如此之大),所以反过来使用包含数字的数据库的逗号会产生许多令人头疼的问题,因为Excel拒绝将其识别为分隔符。
与我国越南智慧一样,遵循法国标准,我们的合作伙伴香港使用英国标准,所以逗号使CSV无法使用,我们使用\ t或;而不是用于国际用途,但它仍然不是每个CSV文档的“标准”。
它可以在Excel中使用,但不能被Microsoft Power BI识别。 – qub1n 2017-12-14 12:32:57
最好的方式,也分隔将其保存在CSV扩展名的文件:
Sub ExportToCSV()
Dim i, j As Integer
Dim Name As String
Dim pathfile As String
Dim fs As Object
Dim stream As Object
Set fs = CreateObject("Scripting.FileSystemObject")
On Error GoTo fileexists
i = 15
Name = Format(Now(), "ddmmyyHHmmss")
pathfile = "D:\1\" & Name & ".csv"
Set stream = fs.CreateTextFile(pathfile, False, True)
FILEEXISTS:
If Err.Number = 58 Then
MsgBox "File already Exists"
'Your code here
Return
End If
On Error GoTo 0
j = 1
Do Until IsEmpty(ThisWorkbook.ActiveSheet.Cells(i, 1).Value)
stream.WriteLine (ThisWorkbook.Worksheets(1).Cells(i, 1).Value & ";" & Replace(ThisWorkbook.Worksheets(1).Cells(i, 6).Value, ".", ","))
j = j + 1
i = i + 1
Loop
stream.Close
End Sub
- 1. 用逗号分隔多个逗号分隔的csv文件
- 2. CSV文件中的逗号逗号
- 3. 将分号从分号转换为CSV中的逗号?
- 4. 包含逗号与逗号分隔符的分割字符串
- 5. 写入包含逗号的CSV
- 6. 分割逗号分隔值(CSV)
- 7. JSLint语法逗号或分号
- 8. 逗号在BeautifulSoup CSV
- 9. 正则表达式逗号或逗号分隔或空间
- 10. 读取包含货币的逗号分隔的CSV
- 11. 解析csv文件,忽略引号中逗号的逗号c#
- 12. 将包含逗号和双引号的字符串写入CSV
- 13. 分割(含有还包含逗号值)
- 14. 分割字符串用逗号而忽略括号或引号逗号
- 15. CSV数据中的逗号
- 16. 分割CSV,但不是仅逗号(PHP)?
- 17. 逗号分隔值(CSV)参数过滤
- 18. VB6逗号分隔CSV文件
- 19. 使用逗号分析CSV字段
- 20. 用逗号分隔数据CSV Python
- 21. 包含逗号分隔值的sql列
- 22. 逗号逗号分隔值在Oracle中
- 23. CSV忽略逗号双引号
- 24. 逗号分隔
- 25. 逗号分隔
- 26. 用逗号代替分号
- 27. 逗号分隔值单倒引号和逗号分隔值
- 28. Excel中的一致逗号CSV CSV
- 29. 逗号或分号分隔的自动完成文本框
- 30. Unicode逗号csv浮动吗?
请参见[逗号分隔值](http://en.wikipedia.org/wiki/Comma-separated_values)(Wikipedia)。 – Jesper 2012-04-13 12:42:37
CSV - >逗号分隔值 – ChadNC 2012-04-13 13:02:20