【发布时间】:2013-01-07 17:14:00
【问题描述】:
我偶然发现了一个小编码问题。我基本上必须从一个看起来很像这样的 .csv 文件读取数据:
2011-06-19 17:29:00.000,72,44,56,0.4772,0.3286,0.8497,31.3587,0.3235,0.9147,28.5751,0.3872,0.2803,0,0.2601,0.2073,0.1172,0,0.0,0,5.8922,1,0,0,0,1.2759
现在,我基本上需要一个由这样的行组成的整个文件,并将它们解析为 numpy 数组。到现在为止,我已经能够使用类似这样的代码将它们放入一个大字符串类型对象中:
order_hist = np.loadtxt(filename_input,delimiter=',',dtype={'names': ('Year', 'Mon', 'Day', 'Stock', 'Action', 'Amount'), 'formats': ('i4', 'i4', 'i4', 'S10', 'S10', 'i4')})
到目前为止,此文件的格式由一组 S20 数据类型组成。我需要基本上将大 ORDER_HIST 数据类型中的所有数据提取到每列的一组数组中。我不知道如何保存日期时间列(我现在将其保存为字符串)。我需要将其余部分转换为浮动,但下面的代码给了我一个错误:
temparr=float[:len(order_hist)]
for x in range(len(order_hist['Stock'])):
temparr[x]=float(order_hist['Stock'][x]);
谁能告诉我如何将所有列转换为我需要的数组???或者可能会引导我到某个链接这样做?
【问题讨论】:
-
你为什么不用
csv模块呢? -
我只能得到行吗?我的意思是...如何转换每一列?
标签: python arrays csv numpy data-conversion