在我当前的项目中,我想使用以下代码将文本文件中的一些实验数据读入 Python:
import numpy as np
from matplotlib.dates import strpdate2num
data = np.recfromtxt('example.txt',
comments='#',
delimiter=';',
names=('time', 't_ref', 't_s', 't_amb1', 't_amb2', 't_amb3')
,converters={'time': strpdate2num('"%d.%m.%Y %H:%M:%S"')}
)
example.txt
看起来像
"04.10.2012 08:15:27";14.4;16;12.78;12.65;12.52
"04.10.2012 08:15:37";14.4;16;12.78;12.65;12.5
"04.10.2012 08:15:47";14.4;16;12.78;12.62;12.5
"04.10.2012 08:15:57";14.4;15.9;12.78;12.65;12.52
...
在 Python 2.7 中,一切都很好,但是当我尝试在 3.2 中传输代码时,我得到了TypeError
一个strpdate2num()
说法
TypeError: strptime() argument 0 must be str, not <class 'bytes'>
我对 Python 相当陌生,但我的理论是 NumPy 以某种方式在内部将时间数组存储为字节而不是字符串,这与自 Python 3 以来对两者的更严格处理相冲突。
长话短说,您知道如何解决该问题的原因可能是什么吗?