use*_*632 0 python csv dictionary
我是python的新手,我正在尝试创建一个csv解析脚本.我将行从csv传递到列表,但目前我遇到的麻烦是我需要在每个项目中添加第一个标题行作为字典.
def parse_csv(datafile):
data = []
with open(datafile, "r") as f:
next(f) #skip headerline
for line in f:
splitLine = line.strip(',')
rowL = splitLine.rstrip('\n') #remove the newline char
data.append(rowL)
pprint(data)
return data
Run Code Online (Sandbox Code Playgroud)
如果第一个标题行有字典(例如标题,名称等),我将如何传递给每个被剥离的元素?
例如{'Dict1':'data1','Dict2':'data2'}
这可能被视为重复,但从类似的帖子尝试了各种方式,但没有在我的情况下正常工作.
小智 6
我强烈建议使用提供的csv库.它将为您节省大量的时间和精力.这是你想要做的:
import csv
data = []
with open(datafile, 'r') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
data.append(row)
print(row['Title'], row['Name'])
Run Code Online (Sandbox Code Playgroud)
在这个例子中,每一行实际上都是一个python字典.