提前感谢大家的时间。我有许多以空格分隔的文本文件格式;
29 04 13 18 15 00 7.667
29 04 13 18 30 00 7.000
29 04 13 18 45 00 7.000
29 04 13 19 00 00 7.333
29 04 13 19 15 00 7.000
格式为 DD MM YY HH MM SS 和我的结果值。我正在尝试使用 Python 的 pandas 读取 txt 文件。在发布此问题之前,我已尝试对此进行大量研究,因此希望我没有涉及到踩踏的领域。
基于反复试验和研究,我想出了:
import pandas as pd
from cStringIO import StringIO
def parse_all_fields(day_col, month_col, year_col, hour_col, minute_col,second_col):
day_col = _maybe_cast(day_col)
month_col = _maybe_cast(month_col)
year_col = _maybe_cast(year_col)
hour_col = _maybe_cast(hour_col)
minute_col = _maybe_cast(minute_col)
second_col = _maybe_cast(second_col)
return lib.try_parse_datetime_components(day_col, month_col, year_col, hour_col, minute_col, second_col)
##Read the .txt file
data1 = pd.read_table('0132_3.TXT', sep='\s+', names=['Day','Month','Year','Hour','Min','Sec','Value'])
data1[:10]
Out[21]:
Day,Month,Year,Hour, Min, Sec, Value
29 04 13 18 15 00 7.667
29 04 13 18 30 00 7.000
29 04 13 18 45 00 7.000
29 04 13 19 00 00 7.333
29 04 13 19 15 00 7.000
data2 = pd.read_table(StringIO(data1), parse_dates={'datetime':['Day','Month','Year','Hour''Min','Sec']}, date_parser=parse_all_fields, dayfirst=True)
TypeError Traceback (most recent call last)
<ipython-input-22-8ee408dc19c3> in <module>()
----> 1 data2 = pd.read_table(StringIO(data1), parse_dates={'datetime': ['Day','Month','Year','Hour''Min','Sec']}, date_parser=parse_all_fields, dayfirst=True)
TypeError: expected read buffer, DataFrame found
在这一点上,我被困住了。首先,预期的读取缓冲区错误让我感到困惑。我是否需要对 .txt 文件进行更多预处理以将日期转换为可读格式?注意 - read_table 的 parse_function 在这种日期格式上不能单独工作。
我是一个初学者 - 努力学习。抱歉,如果代码错误/基本/令人困惑。如果有人可以提供帮助,将不胜感激。提前谢谢了。