0
我努力学习Python,但我试图导入一个数据集,并不能得到它正常工作......问题导入数据集(txt文件)与Python使用numpy的库genfromtxt功能
此数据集包含16列另有16 320行保存为txt文件。我用了genfromtxt功能如下:
import numpy as np
dt=np.dtype([('name', np.str_, 16),('platform', np.str_, 16),('year', np.float_, (2,)),('genre', np.str_, 16),('publisher', np.str_, 16),('na_sales', np.float_, (2,)), ('eu_sales', np.float64, (2,)), ('jp_sales', np.float64, (2,)), ('other_sales', np.float64, (2,)), ('global_sales', np.float64, (2,)), ('critic_scores', np.float64, (2,)),('critic_count', np.float64, (2,)),('user_scores', np.float64, (2,)),('user_count', np.float64, (2,)),('developer', np.str_, 16),('rating', np.str_, 16)])
data=np.genfromtxt('D:\\data3.txt',delimiter=',',names=True,dtype=dt)
我得到这个错误:
ValueError: size of tuple must match number of fields.
但我dt变量,包含16种每列。 我指定数据类型,因为否则这些字符串会被nan替换。
任何帮助,将不胜感激。
建议:从您的data3.txt文件中发布一些第一行。你确定它有16列吗? – payne
为什么所有的'(2,)'在dtype中?你定义了16个字段,但所有的浮点数都加倍了。你有没有试过'dtype = None'加载?这让它推断出最好的dtype。 – hpaulj