早安,我一直在使用python大约一年半,我发现自己面临着一个我无法解决的基本问题.
我有一个简单的数据帧(df),不大(大约12k行和10列),包括一个"datetime64 [ns]"格式的列,一个"float64",所有其他列都是"对象".我调试了,可以说错误来自datetime列.
当我将此df保存到Excel时,我收到以下消息:
在test.to_excel(writer,'test')文件"C:\ Users\renaud.viot\AppData\Local\Programs\Python\Python36\lib\site-packages\pandas \"中的文件"test.py",第16行core\frame.py",第1766行,在to_excel引擎=引擎中)文件"C:\ Users\renaud.viot\AppData\Local\Programs\Python\Python36\lib\site-packages\pandas\io\formats\excel .py",第652行,写入freeze_panes = freeze_panes)文件"C:\ Users\renaud.viot\AppData\Local\Programs\Python\Python36\lib\site-packages\pandas\io\excel.py",line 1395,在write_cells xcell.value中,fmt = self._value_with_fmt(cell.val)文件"C:\ Users\renaud.viot\AppData\Local\Programs\Python\Python36\lib\site-packages\openpyxl\cell\cell .py",第291行,值为self._bind_value(value)文件"C:\ Users\renaud.viot\AppData\Local\Programs\Python\Python36\lib\site-packages\openpyxl\cell\cell.py" ,第193行,在_bind_value中自我._set_time_format(value)文件"C:\ Users\renaud.viot\AppData\Local\Programs\Python\Python36\lib\site-packages\openpyxl\cell\cell.py",第277行,在_set_time_format self.nu中 mber_format = fmts [type(value)] KeyError:
我正在使用的代码如下:
import pandas as pd
import datetime
from pandas import ExcelWriter
test = pd.read_excel("test_in.xlsx")
test["CaseDate"] = pd.to_datetime(test["CaseDate"])
writer = ExcelWriter("test_out.xlsx")
test.to_excel(writer,'test')
writer.save()
Run Code Online (Sandbox Code Playgroud)
请参阅下面的数据样本:
> A CaseDate
> 0 A 2018-08-30
> 1 A 2018-08-30
> 2 A 2018-08-30
> 3 A 2018-08-30
> 4 A 2018-08-30
> 5 A 2018-08-30
> 6 …Run Code Online (Sandbox Code Playgroud)