Txt的日期和时间到numpy数组?

时间:2015-05-05 14:15:18

标签: python numpy

我下载了证券交易所数据并将其存储在.txt文件中。它看起来像这样:

2014-11-04  09:00:00    79.42   79.6    79.42   79.6    
2014-11-04  09:00:01    79.6    79.6    79.6    79.6    
2014-11-04  09:00:02    79.6    79.6    79.6    79.6    
2014-11-04  09:00:03    79.6    79.6    79.6    79.6    
2014-11-04  09:00:04    79.6    79.6    79.6    79.6    
2014-11-04  09:00:05    79.6    79.6    79.6    79.6    
2014-11-04  09:00:06    79.6    79.6    79.6    79.6    
2014-11-04  09:00:07    79.42   79.42   79.4    79.4    
2014-11-04  09:00:08    79.4    79.4    79.4    79.4    
2014-11-04  09:00:09    79.4    79.4    79.4    79.4    
2014-11-04  09:00:10    79.4    79.4    79.4    79.4    
2014-11-04  09:00:11    79.43   79.43   79.43   79.43
2014-11-04  09:00:12    79.43   79.43   79.43   79.43
2014-11-04  09:00:13    79.43   79.43   79.43   79.43   
2014-11-04  09:00:14    79.43   79.43   79.43   79.43   
2014-11-04  09:00:15    79.43   79.43   79.43   79.43   
2014-11-04  09:00:16    79.43   79.43   79.43   79.43   
2014-11-04  09:00:17    79.43   79.43   79.43   79.43   
2014-11-04  09:00:18    79.43   79.43   79.43   79.43   
2014-11-04  09:00:19    79.43   79.43   79.43   79.43   
2014-11-04  09:00:20    79.43   79.43   79.43   79.43   
2014-11-04  09:00:21    79.43   79.43   79.43   79.43   
2014-11-04  09:00:22    79.43   79.43   79.43   79.43   

格式为:date | time | open | high | low | close

为了处理更长的时间帧,我想将这些数据加载到一个numpy数组中。

如何使用numpy loadtxt函数将数据存储在具有单独列的数组中,第一列和第二列的格式为日期和时间?

1 个答案:

答案 0 :(得分:0)

在numpy中,你可以做类似的事情:

template<typename t>
auto f(const t &x) 
  -> typename enable_if_undefined<decltype(std::cout << x)>::type;

但是你因为numpy不接受异类数据而陷入困境。

所以看看熊猫,也许......

OR,使用标准python列表:

strData ="""
2014-11-04  09:00:00    79.42   79.6    79.42   79.6    
2014-11-04  09:00:01    79.6    79.6    79.6    79.6    
2014-11-04  09:00:02    79.6    79.6    79.6    79.6    
2014-11-04  09:00:03    79.6    79.6    79.6    79.6    
2014-11-04  09:00:04    79.6    79.6    79.6    79.6  
""";
import numpy
nNbrColumn = 6;
a = strData.split()
a = numpy.reshape( a, (len(a)/nNbrColumn,nNbrColumn) );