Excel .csv 和普通 .csv 之间的区别?

问题描述 投票:0回答:3

我运行的是 Windows 7 并安装了 MS Office。每当我下载 .csv 文件时,“另存为...”对话框中的“文件类型”行默认为“Microsoft Office Excel 逗号分隔值文件”。 实际上是否存在与“普通”.csv 不同的 Microsoft 特定格式?

谷歌搜索相关术语会返回各种极其缺乏信息的页面,例如这个。使用此格式与仅将文件视为 .csv 相比,是否丢失或获得了任何信息,或者编码是否有所不同,符合通用标准

excel csv file-type
3个回答
6
投票

是的,几乎肯定存在差异。 我的想法是:英语 Excel 使用“,”作为分隔符。德语区域设置使用“;”作为分隔符,如果您想导入带有逗号分隔符的 csv,则需要额外的导入步骤。这并不是德国独有的,世界上大约 1/4 到 1/3 的人使用“;”。

此外,复杂字符串的转义方式(文本中的;和“)可能存在差异,这可能因程序而异。 这并不是错误,因为 csv“格式”并未真正标准化,并且有无数的程序正在滚动自己的 csv 解析器,这会导致各种问题,因为它们忘记处理极端情况。

我曾经读过这样的评论:csv 是数据交换格式的瘟疫,因为它很难正确执行。我完全同意,我必须每天与他们打交道,与他们一起工作非常烦人。 开源粉丝会因此讨厌我,但我认为 csv 对于数据交换来说是一个糟糕的选择,甚至 xlsx 更好,因为它有明确定义的规则。


4
投票

有两件事正在发生。缩写(和后缀)“CSV”可以表示字符分隔值,也可以表示逗号分隔值。 “Microsoft Office Excel 逗号分隔值文件”是一种消歧义,意味着记录中有多个值,字段值以逗号分隔。

逗号分隔值文件中的值本身如果被正确删除(引用),可能会包含逗号。通常,删除是在部分或全部字段周围加上双引号。

MS Excel 还支持字段中间的换行符,同样被正确删除。


0
投票

我从Excel打开“Microsoft Excel CSV文件”和普通“.csv”时的行为看到,前者是直接在Excel中打开的,后者需要通过数据库功能区导入。为什么这种行为在我找不到结构差异的文件上有所不同引起了我的注意。

© www.soinside.com 2019 - 2024. All rights reserved.