更好的方法来读取csv文件

时间:2013-07-23 07:20:30

标签: python file csv

我需要从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

1 个答案:

答案 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']
   # ...