当我使用pd.to_datetime时,我的代码如下所示
rate = pd.read_csv('P2training.csv', header=0)
rate['Date'] = pd.to_datetime(rate['Date'], format='%Y-%m-%d')
rate.set_index('Date', inplace=True, drop=True)
rate.tail(10)
print(rate)
在P2training.csv中,第一列是'日期'当我第一次下载P2training数据集时,这段代码运行良好。但是,在我打开csv文件并保存它而不执行任何其他操作后,此代码开始报告以下错误。如果我将原始下载的文件替换为“已保存的”文件。文件,代码仍然可以正常运行。
C:\用户\姚家\应用程序数据\本地\连续\ Anaconda3 \ lib中\站点包\ statsmodels \ COMPAT \ pandas.py:56: FutureWarning:不推荐使用pandas.core.datetools模块 在将来的版本中删除。请使用pandas.tseries模块 代替。来自pandas.core import datetools Traceback(最近的 最后打电话):文件 " C:\用户\姚家\应用程序数据\漫游\的Python \ Python36 \站点包\大熊猫\芯\工具\ datetimes.py&#34 ;, 第444行,在_convert_listlike中 值,tz = tslib.datetime_to_datetime64(arg)文件" pandas_libs \ tslib.pyx",第1810行, pandas._libs.tslib.datetime_to_datetime64(pandas_libs \ tslib.c:33275) TypeError:无法识别的值类型:
在处理上述异常期间,发生了另一个异常:
Traceback(最近一次调用最后一次):文件 " C:/Users/yaojia/.PyCharmEdu4.0/config/scratches/scratch_7.py" ;, line 23,在 rate [' Date'] = pd.to_datetime(rate [' Date'],format ='%Y-%m-%d')File " C:\用户\姚家\应用程序数据\漫游\的Python \ Python36 \站点包\大熊猫\芯\工具\ datetimes.py&#34 ;, 第509行,在to_datetime中 values = _convert_listlike(arg._values,False,format)文件" C:\ Users \ yaojia \ AppData \ Roaming \ Python \ Python36 \ site-packages \ pandas \ core \ tools \ datetimes.py", 第447行,在_convert_listlike中 提升e文件" C:\ Users \ yaojia \ AppData \ Roaming \ Python \ Python36 \ site-packages \ pandas \ core \ tools \ datetimes.py", 第435行,在_convert_listlike中 require_iso8601 = require_iso8601文件" pandas_libs \ tslib.pyx",第2355行,pandas._libs.tslib.array_to_datetime (pandas_libs \ tslib.c:46617)文件" pandas_libs \ tslib.pyx",行 2484,在pandas._libs.tslib.array_to_datetime中 (pandas_libs \ tslib.c:44616)ValueError:时间数据' 12/31/1979' 不匹配指定的格式
使用退出代码1完成处理
任何人都可以暗示出现了什么问题吗?
答案 0 :(得分:0)
我猜你用excel打开csv?如果是,excel会认为“日期”列确实是日期,并按照自己的日期格式(在您的情况下为“日/月/年”)解析列,并在您预期“年 - 月 - 日”时以这种方式保存
我建议您使用文本编辑器打开/保存您的csv或更改默认的Excel日期格式...