我有很多文本文件,如下所示:
#comment
2012-01-01 00:00:00, 6542736.60466
2012-01-01 00:00:05, 6542736.60466
2012-01-01 00:00:10, 6568774.53588
2012-01-01 00:00:15, 6594812.46709
...
2012-01-01 23:59:55, 6494801.44322
每天都有一个文本文件,所以最终我想将数据堆叠在一个数组的文本文件中,以便时间无缝地继续(例如从2012-01-01 23:59:55到2012- 01-02 00:00:00)
monitor1="list of file names in a directory"
for x in monitor1:
x=np.genfromtxt((filepath+"\\"+x),comments='#',delimiter=',')
monitor1array=np.vstack(monitor1)
for x in monitor1array[:,0]:
x=datetime.datetime.strptime(x, "%Y-%m-%d %H:%M:%S")
此代码似乎不起作用。 1)它似乎无法在第一个for循环中创建数组列表。 2)它不会将datetime识别为列0的类型。
请帮忙!
答案 0 :(得分:1)
我认为您将获得更好的体验reading csvs with pandas:
In [11]: import pandas as pd
In [12]: pd.read_csv('foo.csv', header=None, comment='#')
Out[12]:
0 1
0 2012-01-01 00:00:00 6542736.60466
1 2012-01-01 00:00:05 6542736.60466
2 2012-01-01 00:00:10 6568774.53588
3 2012-01-01 00:00:15 6594812.46709
日期应该正确解析,如果不在列上使用pd.to_datetime
:
In [13]: df[0] = pd.to_datetime(df[0])