【发布时间】:2021-05-02 12:34:15
【问题描述】:
我需要将数千条 Datetime 记录转换为 TimeStamp。当我运行以下代码时:
from time import strptime
import pandas as pd
import numpy as np
import datetime
cepo = str(pd.read_csv('test.csv',sep = ','))
print(cepo)
element = datetime.datetime.strptime(cepo,'%Y/%m/%d %H:%M:%S')
tuple = element.timetuple()
timestamp = time.mktime(tuple)
print(timestamp)
我收到以下错误:
Date Time
0 2018/02/11 02:36:59
1 2018/02/12 00:47:11
2 2018/02/12 01:36:36
3 2018/02/12 03:27:51
4 2018/02/12 03:48:29
5 2018/02/12 03:50:49
Traceback (most recent call last):
File "epoch.py", line 9, in <module>
element = datetime.datetime.strptime(cepo,'%Y/%m/%d %H:%M:%S')
File "/Users/joaofontiela/opt/anaconda3/envs/pywork/lib/python3.8/_strptime.py", line 568, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
File "/Users/joaofontiela/opt/anaconda3/envs/pywork/lib/python3.8/_strptime.py", line 349, in _strptime
raise ValueError("time data %r does not match format %r" %
ValueError: time data ' Date Time\n0 2018/02/11 02:36:59\n1 2018/02/12 00:47:11\n2 2018/02/12 01:36:36\n3 2018/02/12 03:27:51\n4 2018/02/12 03:48:29\n5 2018/02/12 03:50:49' does not match format '%Y/%m/%d %H:%M:%S'
输入文件(test.csv)看起来像:
Date,Time
2018/02/11,02:36:59
2018/02/12,00:47:11
2018/02/12,01:36:36
2018/02/12,03:27:51
2018/02/12,03:48:29
2018/02/12,03:50:49
如何解决错误“时间数据与格式'%Y/%m/%d %H:%M:%S”不匹配?
【问题讨论】:
-
为什么要将数据帧转换为字符串?如果您想使用 pandas 将字符串解析为日期时间,请使用 to_datetime。
-
csv 转换尝试处理的文件末尾是否有意外字符?假设 text.csv 完整显示,并且下一行(未显示)中没有一系列格式错误的字符导致问题。
标签: python pandas datetime timestamp strptime