我需要从csv文件中读取特定列,并根据列中的数据操作代码。我对我对列进行硬编码的方式感到不满意。我确信Python提供了一种更好的方式来完成我所做的事情。有没有人有更好的建议做下面的事情,特别是从csv读取特定的10列:
import csv
import os
import sys
file_csv = sys.argv[1]
Cat1=[]
Cat2=[]
Cat3=[]
Cat4=[]
with open(file_csv,'rb') as f:
next(f)
reader=csv.reader(f,delimiter='\t')
for col1,col2,col3,col4,col5,col6,col7,col8,col9,col10 in reader:
Cat1.append(col2)
Cat2.append(col4)
Cat3.append(col8)
Cat4.append(col10)
datadict = zip(Cat1, Cat2, Cat3, Cat4)
for files, path, fname, pid in datadict:
bla bla bla
答案 0 :(得分:1)
DictReader
会将您的行转换为字典,其中键是列名,结果如下:
with open(file_csv,'rb') as f:
reader = csv.DictReader(f)
lines = list(reader)
for line in lines:
print line['column1']
print line['column2']
# ...