python读取csv时keyerror_python – 读取csv文件并传输到数组的KeyError

我无法使用此代码的清理版本重现问题:

# Read csv file

import csv

with open('r2.csv', 'r') as infile:

reader = csv.DictReader(infile)

data = {}

for row in reader:

print('row: {}'.format(row))

for header, value in row.items():

try:

data[header].append(value)

except KeyError:

data[header] = [value]

print('')

from pprint import pprint

pprint(data)

# Transfer the column from list to arrays for later computation.

mu = data['Avg_Noshow']

cs = data['Walk_Cost']

co = data['Room_Rev']

mu = map(float, mu)

cs = map(float, cs)

co = map(float, co)

这是它产生的印刷输出:

row: {'Walk_Cost': '125', 'Factory': 'A', 'Avg_Noshow': '5.6', 'Product_Number': '1', 'Date': '01APR2017', 'Room_Rev': '275'}

row: {'Walk_Cost': '200', 'Factory': 'A', 'Avg_Noshow': '4.5', 'Product_Number': '1', 'Date': '02APR2017', 'Room_Rev': '300'}

row: {'Walk_Cost': '150', 'Factory': 'A', 'Avg_Noshow': '6.6', 'Product_Number': '1', 'Date': '03APR2017', 'Room_Rev': '250'}

row: {'Walk_Cost': '175', 'Factory': 'A', 'Avg_Noshow': '7.5', 'Product_Number': '1', 'Date': '04APR2017', 'Room_Rev': '325'}

{'Avg_Noshow': ['5.6', '4.5', '6.6', '7.5'],

'Date': ['01APR2017', '02APR2017', '03APR2017', '04APR2017'],

'Factory': ['A', 'A', 'A', 'A'],

'Product_Number': ['1', '1', '1', '1'],

'Room_Rev': ['275', '300', '250', '325'],

'Walk_Cost': ['125', '200', '150', '175']}

这是我自己创建并使用的r2.csv测试,因为你没有提供一个:

Factory,Product_Number,Date,Avg_Noshow,Walk_Cost,Room_Rev

A,1,01APR2017,5.6,125,275

A,1,02APR2017,4.5,200,300

A,1,03APR2017,6.6,150,250

A,1,04APR2017,7.5,175,325

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值