搜索csv文件中的列表值并返回python中的其他列值

时间:2017-09-05 12:38:44

标签: python pandas csv

我有一个包含整数值的列表,如下所示

No, item_code
1, nm111
2, nm121
3, nm131
4, nm141

现在我想找到' mylist'中的元素。在下面显示的csv文件中,返回' item_code'附在它上面。

with open('item_codes.csv', 'r') as f:
     reader = csv.reader(f, delimiter=',')
     for row in reader:
         if row[0] in mylist:

我目前正在使用csv进行如下操作。

forEach

但是,我也有兴趣在熊猫中这样做。请帮帮我。

1 个答案:

答案 0 :(得分:4)

如果将csv数据放入如下数据框中:

df = pd.read_csv('item_codes.csv')
print(df)

输出:

No, item_code
1, nm111
2, nm121
3, nm131
4, nm141

选项1:

您可以执行以下操作:

df[df["No"].isin([2, 10, 5])]["item_code"].tolist() 

将为您提供与列表item_code

中的整数相同的行中的所有[2, 10, 5]值的列表

选项2:

正如@jezrael在下面的评论中所建议的,我们也可以使用df.loc

说明:由于df["No"].isin([2, 10, 5])返回一个布尔数组,我们可以使用这个数组作为掩码来选择行并得到相同的结果如下:

df.loc[df["No"].isin([2, 10, 5]),"item_code"].tolist()