如何在pthon中获取csv文件的列值或python中的其他方法

时间:2017-12-05 19:23:21

标签: python pandas csv

我有.csv文件,如下所示:

id,product
1,car
1,phone
2,tv 

我希望获得符合特定条件的所有行,例如: 如果id == 1,并且产品值包含字母“a”,则打印所有匹配的行(例如'1,car'将被打印)。我知道使用数据库会更好,但我需要使用csv文件。

我尝试过熊猫:

import pandas as pd

df = pd.read_csv('products.csv')

for value_i in df.id:
    for value_p in df.product:
         if (value_i==2 and "a" in value_p):
             print(value_i, value_p)

但我没有得到好结果。如果有人可以给我一个提示如何访问列的值,我将非常感激。

1 个答案:

答案 0 :(得分:1)

您可以使用boolean indexing和字符串中的检查值使用str.contains

df1 = df[(df['id'] == 1) & (df['product'].str.contains('a'))]
print (df1)
   id product
0   1     car

详情:

print ((df['id'] == 1) & (df['product'].str.contains('a')))
0     True
1    False
2    False
dtype: bool