【问题标题】:Is it possible to compare the values of a csv and text file in python?是否可以在 python 中比较 csv 和文本文件的值?
【发布时间】:2010-08-30 06:03:59
【问题描述】:

我有一个 csv 文件和一个文本文件。是否可以比较两个文件中的值?还是我应该在 csv 文件中同时包含两者的值以使其更容易?

【问题讨论】:

  • 您是要比较整个文件还是文件的特定部分?
  • CSV “文本”。制表符分隔值也是如此。 /etc/passwd 格式也是如此。固定宽度的文本也是如此。 JSON也是如此。 XML 也是如此。编程语言源代码也是如此。你必须更具体。

标签: python csv


【解决方案1】:

是否可以比较值 在这两个文件中?

是的。您可以在二进制模式下打开它们并比较字节,或者在文本模式下打开它们并比较字符。不过,两者都不会特别有用。

或者我应该同时拥有两者的值 一个 csv 文件以使其更容易?

将它们都转换为列表格式。对于 CSV 文件,请使用 csv.reader。对于文本文件,请使用 [line.split('\t') for line in open('filename.txt')] 或任何与您的文件格式对应的等效项。

【讨论】:

    【解决方案2】:

    是的,您可以比较任何 N 个来源的值。您必须从中提取值,然后进行比较。如果您的问题更具体(例如文本文件的格式),我们或许可以为您提供更多帮助。

    【讨论】:

      【解决方案3】:

      csv 本身当然也是文本。这基本上是“比较”时的问题,没有“文本文件标准”。甚至 csv 也没有那么严格的定义,也没有正常的形式。例如,是否应该包含标题?列顺序是否相关?

      文本文件中的字段如何分隔?固定宽度记录?换行符?特殊标记(如 csv)? , 如果您知道文本文件的格式,您可以读取/解析它并将结果与​​ csv 文件进行比较(当然您还需要读取/解析),或者从文本文件生成 csv 并使用 diff 进行比较。

      【讨论】:

        猜你喜欢
        • 2014-04-15
        • 1970-01-01
        • 2021-01-11
        • 2017-09-20
        • 1970-01-01
        • 2015-09-19
        • 2020-08-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多