Python CSV模块 – 它如何避免分隔符问题?

我正在使用Python的CSV模块输出一系列与元数据分析文本文档。 我使用的csv.writer模块没有指定一个特殊的分隔符,所以我假设它使用逗号分隔。 在文本和元数据中都有很多逗号,所以我希望与文本行相比,在文档行中有更多的列。

我感到惊讶的是,当我在Excel中加载输出的文件时,一切看起来都是正确的。 Excel如何知道如何正确分隔这个? 它如何能够找出哪些逗号是文本逗号,哪些是分隔符?

相关问题:人们通常使用CSV来保存文本文档吗? 这是一个标准的做法? 从长远的可持续性到轻松解读没有任何错误,从JSON或者创buildSQLite数据库看起来都不如意。

在Sublime这样的文本编辑器中查看输出的CSV文件,并且可能会看到文本中的逗号使用转义string(通常用双引号包裹)转义。 这在CSV spec文件中定义: http : //tools.ietf.org/html/rfc4180

至于CSV文件的使用,实际上它们仍然是非常普遍的,主要是由于传统系统以及它们对于大多数任务来说都是如此快速和容易处理的事实。

您将检查您创build的CSV文件的真实内容,您将看到,有方法将文本括在引号中。 这允许区分文本值内的分隔符和字符。

检查csv模块的文档,它也解释了这些细节。