【问题标题】:Python: CSV Parsing and MatchingPython:CSV 解析和匹配
【发布时间】:2012-04-01 17:18:03
【问题描述】:

我想匹配两个 CSV 文件并写入新的 CSV 文件,无论它们是否匹配。

我的意思是如果每个单元格都匹配,我会写“1”,如果不匹配,我想在新的 CSV 文件中写“0”。

例如, 第一个文件 (14岁,女,高中)

第二个文件 (15,男,高中)

我想匹配那些是否相同性别和相同年龄。 我可以写...

 f="first_file.csv"
 s="second_file.csv"
 w="writer.csv"
 first = csv.reader(open(f,'rb'))
 second = csv.reader(open(s,'rb'))
 writer = csv.writer(open(w, "w"))
 for row in first:
    for rwo_2 in second:

然后我不确定我该如何匹配.... 请帮助我..提前谢谢你..!

【问题讨论】:

  • 您要按行的顺序匹配行吗?第一到第一,第二到第二,... ?您的文件的行数是否相等?

标签: python csv


【解决方案1】:

它不会关心重复的行

set(csv1) == set(csv2)

其他:

sorted(csv1) == sorted(csv2)

【讨论】:

    【解决方案2】:

    这假设您要逐行匹配,并用 None 填充较短的行和文件:

    from itertools import izip_longest
    
    for row1, row2 in izip_longest(first, second, fillvalue=[]):
        writer.writerow([int(a == b) for a, b in izip_longest(row1, row2)])
    

    【讨论】:

      猜你喜欢
      • 2021-11-02
      • 2012-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-23
      相关资源
      最近更新 更多