我有一个.csv,我需要看起来像一个特殊格式的字典,我不能围绕循环必须以我需要的方式做到这一点。例如,这三行(row [0]是带有我的标签的标题)目前看起来像:
0 outlook,temperature,humidity,windy,result
1 overcast,hot,high,FALSE,yes
2 overcast,cool,normal,TRUE,yes
...
应该是这样的:
{"outlook":"overcast", "temperature":"hot", "humidity":"high","windy":"FALSE","result":"yes"},
{"outlook":"overcast", "temperature":"cool", "humidity":"normal","windy":"TRUE","result":"yes"},
...
一旦他们被处理和清理。我把它关闭但不太正确使用词典。我一直在搞乱大熊猫和导入csv,我开始忘记在Py3中做到这一点的最佳方法是什么。
感谢您的帮助。非常感谢。
答案 0 :(得分:2)
您可以使用DictReader
:
创建一个像常规阅读器一样操作的对象,但将读取的信息映射到一个dict,其键由可选项给出 fieldnames参数。 fieldnames参数是一个序列 元素按顺序与输入数据的字段相关联。 这些元素成为结果字典的关键。如果 fieldnames参数被省略,第一行的值为 csvfile将用作字段名。
示例代码如下:
import csv
with open('temperature.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row)
...
将打印
{"outlook":"overcast", "temperature":"hot", "humidity":"high","windy":"FALSE","result":"yes"},
...