【发布时间】:2019-09-25 12:47:04
【问题描述】:
我正在尝试比较两个 csv 文件,并将匹配的字符串打印到第三个文件中。在我的情况下,我有一个名为 raw_data.csv 的文件 1,其中包含 3 列作为 name_id、reference_id 和 Compound_name。命名 new_data.csv 的文件 2 只有一列作为复合名称。我想匹配两个文件中的compound_name 列中的数据,并将相似compound_name 的name_id 和reference_id 打印到新文件final.csv。
文件 1 - raw_data.csv
name_id reference_id compound_name
IVRD345 456TTRY Citrulline_malate
IVRD456 657TRDF Succinic_acid
IVRD624 473YRHW Glutamic_acid
文件 2 - new_data.csv
compound_name
calcium
glutamic_acid
citric_acid
谢谢
【问题讨论】:
-
pandas merge 在这里会有所帮助
-
到目前为止你尝试了什么?
-
我尝试编辑我在 github 上找到的代码 - 但我对 python 很陌生,所以我严重失败了 import csv file_list = ['file1.csv', 'file2.csv'] f1 = open (file_list[0], 'r').readlines() f2 = open(file_list[1], 'r').readlines() fName = open('final.csv', 'a') for _ in range( 2):对于 f1 中的行:如果 f2 中的行:fName.write(row) f1, f2 = f2, f1
-
如果你使用的 shell 可以使用 grep,
grep -Ff new_data.csv raw_data.csv可能会得到你需要的东西。 -
我试过了,但我丢失了一些数据。所以想在python中尝试