Skip to main content
 首页 » 编程设计

python之拆分CSV文件后将数据放入列表中之Python

2025年05月04日22grandyang

我有一个 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