使用带有csv的标头索引格式化值

时间:2016-03-07 23:33:01

标签: python csv formatting data-cleaning

我有一个.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中做到这一点的最佳方法是什么。

感谢您的帮助。非常感谢。

1 个答案:

答案 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"},
...