小编典典

如果(table1列A == table2列A)合并两个表(CSV)

python

我有两个CSV,可以在Numbers或Excel中打开,结构化:
| word | num1 |

| word | num2 |

如果两个词相等(例如它们都是“ hi”和“ hi”),我希望它变成:
| word | num1 | num2 |

这是一些图片:

表格1 表2

就像第1行一样,由于两个词都相同,所以我希望它变成类似
| TRUE | 5.371748 | 4.48957 |

通过一些小脚本,或者如果我忽略某些功能/功能。
谢谢!


阅读 137

收藏
2021-01-20

共1个答案

小编典典

使用字典:

with open('file1.csv', 'rb') as file_a, open('file2.csv', 'rb') as file_b:
    data_a = csv.reader(file_a)
    data_b = dict(csv.reader(file_b))  # <-- dict
    with open('out.csv', 'wb') as file_out:
        csv_out = csv.writer(file_out)
        for word, num_a in data_a:
            csv_out.writerow([word, num_a, data_b.get(word, '')])  # <-- edit

(未试)

2021-01-20