Bur*_*Ali 33 metadata csv microsoft-excel
在尝试找出如何在西班牙 PC(属于客户)上的 Excel 中正确打开 CSV 时,我发现了许多建议sep=,
在文件顶部使用的答案:
从表面上看,这种方法有效,但这些答案都没有提供有关此元数据选项来自何处的任何进一步信息。我试图寻找它的含义(因此找到了所有这些答案),但一直无法获得任何进一步的信息,尤其是考虑到标点符号很难搜索是出了名的。
我主要关心的是这是否是 Excel 特定的功能。我怀疑它是,但没有找到任何明确的证据来证实它。
一些相关的问题是:
我希望在某处有一份文档,有人可以指点我,以回答所有这些问题以及更多问题;我只是一直没能找到它。
一些澄清:
该sep=
不是一个解析器的参数。它旨在放置在CSV 中。例子:
sep=|
"LETTER"|"ANIMAL"
"a"|"aardvark"
"b"|"bear"
"c"|"cow"
Run Code Online (Sandbox Code Playgroud)
Ste*_*ögl 12
RFC 4180被普遍认为是 CSV 格式的标准,并未提及任何此类功能。
Web 上表格数据和元数据的W3C模型将其称为不在其范围内的功能:
许多“CSV”文件嵌入了元数据,例如在 CSV 文档标题行之前的行中。除了标题行中的列名之外,该规范没有定义任何格式来在 CSV 文件中嵌入元数据。
因此,虽然我没有找到任何直接证明此功能特定于 Excel 的证据,但显然情况仍然如此,因为似乎没有涵盖该功能的标准化文档。
Ste*_*nes -4
几乎任何可以从 .csv 文件导入的工具都会认识到逗号并不是唯一可能的分隔符,例如制表符已经很常见了。我认为这甚至可以追溯到打孔卡的时代,需要有一些字符被识别为数据字段的结尾 - 除了使用固定宽度字段或长度前缀字段的系统之外,几乎每个系统都需要这个自从计算机出现以来。
三个要素是字段分隔符、记录分隔符和数据结束标记,csv默认情况下分别使用逗号、换行符和文件结尾,但几乎可以使用任何有效的输入,但是,您需要一种机制如果特殊标记出现在您的有效数据中,则用于转义它们。
我遇到的一个历史系统使用换行符表示字段结束,使用 2 个空行表示记录结束和*!*!* END *!*!*
数据结束。我经常遇到,\t|:
用作字段分隔符的所有字符以及各种控制字符。
需要警惕的一件事是,法国人和其他人使用逗号作为小数点 - 这可能会引起各种乐趣和游戏。[rfc4180][1] 中的 csv 文件有一定程度的标准化,但有时在从一个程序导出并导入到另一个程序时需要手动编辑文件。
要回答问题的第二部分,例如,Python 包含一个 [csv reader/writer][2] 作为标准库之一,它提供以下选项:
delimiter
- 这是字段分隔符(除非转义)。doublequote
"
- 如果为 true,则字段内的a将表示为""
escapechar
- 删除任何后续字符的任何特殊含义,例如,如果将其设置为,则\
quote 可以表示为\"
lineterminator
- 通常为\n
、、\r
或\r\n
之一\n\r
quotechar
- 用于引用字符串的字符,通常"
或'
quoting
- 标记为以下之一:ALL
- 每个字段都用引号引起来,即:"1","Free Beer","ASAP"
MINIMAL
- 仅引用具有特殊字符的字段,即:1,"Beer, (Free)", Now, Please
QUOTE_NONNUMERIC
- 引用任何非数字的内容,即:1,"Beer, (Free)", "Now", "Please"
NONE
- 不要引用转义,即:1,Beer\, (Free), Now, Please
skipinitialspace
- 跳过每个字段的任何前导空格,以便您可以使用,
而不是仅仅,
用作字段分隔符。通常,可以导入 csv 文件的工具越灵活且经过深思熟虑,它所具有的这些选项就越多(可能具有不同的名称和/或机制)。[1]: https: //www.rfc-editor.org/rfc/rfc4180 [2]:https://docs.python.org/2/library/csv.html
归档时间: |
|
查看次数: |
35967 次 |
最近记录: |