在两个csv文件中查找匹配项

2024-04-19 05:36:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个csv文件:第一个有一列ID和5行,第二个有12列(第5列称为ID)和100行。我试图找到匹配的ID和写入整个行到一个新的csv文件。你知道吗

谢谢你的帮助!你知道吗

这是我的密码:

import csv

input_file1 = "/Desktop/New1/file1.csv"
input_file2 = "/Desktop/New1/file2.csv"
output_file = "/Desktop/New1/results.csv"


with open(input_file1) as t1, open(input_file2) as t2:
    fileone = csv.reader(t1)
    filetwo = csv.reader(t2)

    with open(output_file, 'w') as output_res:
        for line in filetwo:
            if line in fileone:
                output_res.write(line)

Tags: 文件csvidinputoutputaswithline
1条回答
网友
1楼 · 发布于 2024-04-19 05:36:02

您可以将file1中的ID读入一个集合,以便更有效地查找。您还应该使用csv.writer将行输出为CSV:

with open(input_file1) as t1, open(input_file2) as t2:
    ids = set(id for id, in csv.reader(t1))
    filetwo = csv.reader(t2)

    with open(output_file, 'w') as output_res:
        writer = csv.writer(output_res)
        for row in filetwo:
            if row[4] in ids:
                writer.writerow(row)

相关问题 更多 >