我有一个 csv 文件,我用分隔符 ',' 分割它。我的目标是遍历整个文件的第一列,如果它与我拥有的单词匹配,那么我需要将该特定行的后续值放入不同的列表中。
例子:
AAA,man,2300,
AAA,woman,3300,
BBB,man,2300,
BBB,man,3300,
BBB,man,2300,
BBB,woman,3300,
CCC,woman,2300,
CCC,man,3300,
DDD,man,2300,
我的代码:
import csv
datafile = "test.txt"
with open('C:/Users/Dev/Desktop/TEST/Details/'+datafile, 'r') as f:
reader = csv.reader(f,delimiter=',')
for row in reader:
print (rows)
如果我搜索值 BBB,我希望将行的其余详细信息放入 3 个不同的列表中。 (CSV 文件总是只有 4 列;第四列有时可能是空的,所以我们只用逗号保留它)
示例:
list1 = [man, man, man, woman]
list2 = [2300, 3300, 2300, 3300]
list3 = [ , , , ,]
我该怎么做?
请您参考如下方法:
用 pandas 试试:
import pandas as pd
df = pd.read_csv('path/to/file',sep=',',header=None)
现在只需使用:
list1,list2,list3 = df[df[0] == "BBB"].T.values.tolist()
例子 df:
df = pd.DataFrame(dict(col1=["AAA","BBB","BBB"],
col2=[1,2,3],
col3=[4,5,6]))
输出:
(['BBB', 'BBB'], [2, 3], [5, 6]) #list1,list2,list3
