【问题标题】:Python CSV module - how does it avoid delimiter issues?Python CSV 模块 - 它如何避免分隔符问题?
【发布时间】:2014-10-12 09:04:53
【问题描述】:

我正在使用 python 的 CSV 模块来输出一系列带有元数据的已解析文本文档。我正在使用 csv.writer 模块而没有指定特殊的分隔符,所以我假设它是使用逗号分隔的。文本和元数据中有很多逗号,因此与标题行相比,我预计文档行中的列会更多。

令我惊讶的是,当我在 Excel 中加载输出文件时,一切看起来都完全正确。 Excel如何知道如何正确分隔?它如何分辨哪些逗号是文本逗号,哪些是分隔符?

相关问题:人们通常使用 CSV 来保存文本文档吗?这是标准做法吗?它似乎不如 JSON 或在任何意义上创建 SQLite 数据库,从长期可持续性到易于无错误地解释。

【问题讨论】:

    标签: python excel csv export-to-csv


    【解决方案1】:

    在 Sublime 等文本编辑器中查看输出的 CSV 文件,您可能会看到文本中的逗号已使用转义字符串(通常用双引号括起来)进行转义。 这是在此处的 CSV 规范文件中定义的:https://www.rfc-editor.org/rfc/rfc4180

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

    【讨论】:

      【解决方案2】:

      您将检查您创建的 CSV 文件的真实内容,您会发现,有一些方法可以将文本括在引号中。这允许区分分隔符和文本值内的字符。

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

      【讨论】:

        猜你喜欢
        • 2016-05-05
        • 1970-01-01
        • 2014-10-31
        • 2015-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-11
        • 1970-01-01
        相关资源
        最近更新 更多