enter image description here
希望将列标题用作键,而关键字周围没有引号,而将列中的后续值用作键的值。
这是我到目前为止的内容:
import csv
with open('zinc3.csv') as f:
reader = csv.DictReader(f)
for row in reader:
print row
print ("#1\n")
最佳答案
您可以在python中使用pandas库,该库可以处理:
读取csv文件:使用pandas.read_csv
将其转换为词典列表:使用pandas.dataframe.to_dict
这是一个通用的可复制示例(您需要安装熊猫)
from StringIO import StringIO
import pandas as pd
data = """
col1|col2
1|2
21|2
14|2
12|42
10|2
1|27
"""
# StringIO(data) to simulate a csv file
# replace it with the name of your csv file
df = pd.read_csv(StringIO(data), sep="|")
print(df.to_dict(orient="records"))
输出看起来像这样:
[{'col2': 2, 'col1': 1}, {'col2': 2, 'col1': 21}, {'col2': 2, 'col1': 14}, {'col2': 42, 'col1': 12}, {'col2': 2, 'col1': 10}, {'col2': 27, 'col1': 1}]
对于您的特定情况,您需要执行以下操作
import pandas as pd
df = pd.read_csv("zinc3.csv", sep="|")
print(df.to_dict(orient="records"))