阅读csv-fi的更好方法

2024-09-28 20:39:15 发布

您现在位置:Python中文网/ 问答频道 /正文

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

Tags: csvimportforsys事情readerfilecol2
1条回答
网友
1楼 · 发布于 2024-09-28 20:39:15

一个^{}将把您的行转换成以列名为键的字典,结果是:

with open(file_csv,'rb') as f:
   reader = csv.DictReader(f)
   lines = list(reader)

for line in lines:
   print line['column1']
   print line['column2']
   # ...

相关问题 更多 >