2010-08-30 15 views
0

我有一个csv文件和一个文本文件。有可能比较两个文件中的值吗?或者我应该在csv文件中使两者的值更容易?是否可以比较python中的csv和文本文件的值?

+0

你想比较整个文件或文件的特定部分? – 2010-08-30 06:20:09

+0

CSV *是*“文本”。标签分隔值也是如此。 '/ etc/passwd'格式也是如此。固定宽度的文本也是如此。 JSON也是如此。 XML也是如此。编程语言源代码也是如此。你必须更具体。 – dan04 2010-08-30 06:23:45

回答

2

是的,您可以比较来自N个来源的值。你必须提取每个值然后比较它们。如果您提出更具体的问题(例如文本文件的格式),我们可能会帮助您更多。

2

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

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

3

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

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

或者我应该在 的一个csv文件中使值更容易吗?

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