WIndows-时间的Python字符串



我试图在Python中将字符串"Time"转换为Time,但出现错误

尝试了多种方法不工作:-Python日期时间格式没有零填充

代码:

dt['Time'] = pd.to_datetime(dt['Time'], format= '%H:%M:%S',
infer_datetime_format=True)

数据:

Ticker,Date,Time,Open,High,Low,Close,Volume,OpenInterest
BANKNIFTY04JUN2023000CE.NFO,14/05/2020,13:00:59,65,65,65,65,20,0
BANKNIFTY04JUN2023000CE.NFO,14/05/2020,15:01:59,75,75,75,75,20,20
BANKNIFTY14MAY2013900PE.NFO,14/05/2020,
9:15:59,0.8,0.8,0.7,0.7,40,18860

错误:

Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:UsersAnkuranaconda3libsite-packagespandascoretoolsdatetimes.py", line 728, in to_datetime
values = convert_listlike(arg._values, format)
File "C:UsersAnkuranaconda3libsite-packagespandascoretoolsdatetimes.py", line 447, in _convert_listlike_datetimes
allow_object=True,
File "C:UsersAnkuranaconda3libsite-packagespandascorearraysdatetimes.py", line 1861, in objects_to_datetime64ns
raise e
File "C:UsersAnkuranaconda3libsite-packagespandascorearraysdatetimes.py", line 1852, in objects_to_datetime64ns
require_iso8601=require_iso8601,
File "pandas_libstslib.pyx", line 481, in pandas._libs.tslib.array_to_datetime
File "pandas_libstslib.pyx", line 698, in pandas._libs.tslib.array_to_datetime
File "pandas_libstslib.pyx", line 694, in pandas._libs.tslib.array_to_datetime
File "pandas_libstslib.pyx", line 649, in pandas._libs.tslib.array_to_datetime
File "pandas_libstslibsconversion.pyx", line 399, in pandas._libs.tslibs.conversion.convert_datetime_to_tsobject
File "pandas_libstslibsnp_datetime.pyx", line 117, in pandas._libs.tslibs.np_datetime.check_dts_bounds
pandas._libs.tslibs.np_datetime.OutOfBoundsDatetime: Out of bounds nanosecond timestamp: 1-01-01 09:15:59

只需仔细检查-最后一行是否有错误的行?当我把你的数据复制到一个文本文件时,它有换行符,这会给你带来问题,但我纠正了这一点,以防StackOverflow奇怪地格式化它。

Pandas通常足够聪明,能够自动计算出日期时间格式,尤其是如果它是标准格式的话。

无论如何,这个脚本非常适合我:

import pandas as pd
dt = pd.read_csv('data.csv')
dt['Time'] = pd.to_datetime(dt['Time'], format="%H:%M:%S")

其中data.csv是该问题所附数据的副本。您甚至可以省略format键。

最新更新