我有一个如下所示的数据文件:
06/22/20-14:57:52,0,18.1436
06/22/20-14:57:53,1,18.5368
.
.
.
我需要将日期时间列转换为可读的内容,然后将其转换回绘图目的。为此,我使用datetime.datetime.strtime()。这是我的密码:
def datestr2num(s):
return datetime.datetime.strptime(s.decode('ascii'),'%m/%d/%y-%H:%M:%S')
ntc = np.loadtxt('path/to/file/ntc_readings.txt', delimiter=',', converters={0:datestr2num})
print(ntc) #check
我相信Python应该能够区分列,因为它的格式是合适的,但是如果我没有包含分隔符来告诉它忽略逗号,我会得到ValueError: unconverted data remains: ,0,18.1436
。当然,我只想转换第一列数据,这就是为什么我有converters={0:datestr2num}
。这让我觉得它不是将数据读取为没有分隔符的三列,而是单个列,这很奇怪
当我包含delimiter=','
时,我得到TypeError: float() argument must be a string or a number, not 'datetime.datetime'
。我不知道为什么,当我包含分隔符时,loadtxt不喜欢我使用datetime.datetime
我尝试了time.strtime(),我得到了错误ValueError: setting an array element with a sequence.
。我想知道这是否与使用decode()有关,但如果我不使用它,'%m/%d/%y-%H:%M:%S
不起作用,即使它是我的日期时间数据的正确格式
你有没有想过问题出在哪里
函数
datestr2num
应该返回number,但它返回的是datetime您可以按如下方式对其进行修改:
或者,您可以使用名为pandas的模块。 您可以按如下方式使用它:
相关问题 更多 >
编程相关推荐