保存csv文件而不执行任何操作后发生pd.to_datetime错误

时间:2017-11-15 16:26:21

标签: python python-3.x csv datetime

当我使用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完成处理

任何人都可以暗示出现了什么问题吗?

1 个答案:

答案 0 :(得分:0)

我猜你用excel打开csv?如果是,excel会认为“日期”列确实是日期,并按照自己的日期格式(在您的情况下为“日/月/年”)解析列,并在您预期“年 - 月 - 日”时以这种方式保存

我建议您使用文本编辑器打开/保存您的csv或更改默认的Excel日期格式...