将Csv读入namedtuple

肿瘤

我正在尝试加载从这里获得的csv文件:http : //archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data我已经重写了数十遍,现在我得到了错误提示列表索引超出范围。自len(row)为15以来,这完全使我感到困惑。

import csv
from collections import namedtuple

fields = ('age', 
      'workclass', 
      'fnlwgt', 
      'education', 
      'education_num', 
      'marital_status', 
      'occupation', 
      'relationship', 
      'race', 
      'sex', 
      'capital_gain', 
      'capital_loss', 
      'hours_per_week', 
      'native_country', 
      'target')

CensusRecord = namedtuple('CensusRecord', fields)

with open("./data/adult_data.csv","r") as f:
     r = csv.reader(f, delimiter=',')

     for row in r:
           data.append(CensusRecord(
           age              = int(row[0]),
           workclass        = row[1].strip(),
           fnlwgt           = float(row[2].strip()),
           education        = row[3].strip(),
           education_num    = int(row[4]),
           marital_status   = row[5].strip(),
           occupation       = row[6].strip(),
           relationship     = row[7].strip(),
           race             = row[7].strip(),
           sex              = row[9].strip(),
           capital_gain     = int(row[10]),
           capital_loss     = int(row[11]),
           hours_per_week   = int(row[12]),
           native_country   = row[13].strip(),
           target           = row[14].strip()))
尼克斯

使用文本编辑器打开数据集,然后删除文档末尾的空白行。然后运行你的代码

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章