我有两个具有相同行名的CSV文件:
Name, Lastname.
但是,file2.csv还有一个名为
的列。Attention
每个文件都有一个不同的名称和姓氏列表(顺序不一)。如果两个文件中都包含名字和姓氏,我正在尝试找到一种方法来打印关注列。
这是我到目前为止所拥有的:
with open('result.csv') as r:
set1 = set(x[0] for x in csv.reader(r))
with open('result2.csv') as r:
set2 = set(x[0] for x in csv.reader(r))
for x, y in zip(set1, set2):
if x[0] == y[0]:
print("Matched")
如何阅读每个文件的第一和第二列?
谢谢
编辑:更清晰
答案 0 :(得分:2)
为查找表创建一组元组,其中将包含前两列中的值,例如:
with open("result.csv", "r") as f:
result = {(x[0], x[1]) for x in csv.reader(f)}
然后遍历第二个文件,检查第一个文件的查找表中是否存在前两列的元组,如果是,则在每个匹配项上打印第三列,例如:
with open("result2.csv", "r") as f:
for row in csv.reader(f):
if (row[0], row[1]) in result:
print("Matched: {}".format(row[2])) # print the third column