Доброе утро,
Я использую Python около полутора лет, и я нахожусь перед основной проблемой, которую я не могу решить.
У меня есть простой фрейм данных (df), не большой (около 12 тыс. Строк и 10 столбцов), который включает в себя один столбец формата «datetime64 [ns]», один «float64», а все остальные являются «объектами». Я отладил и могу сказать, что ошибка происходит из столбца datetime.
Когда я сохраняю этот файл в Excel, я получаю следующее сообщение:
Файл "test.py", строка 16, в
test.to_excel (Writer, 'test') Файл "C: \ Users \ renaud.viot \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ pandas \ core \ frame.py",
строка 1766, в to_excel
engine = engine) Файл "C: \ Users \ renaud.viot \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ pandas \ io \ format \ excel.py",
строка 652, в записи
freeze_panes = freeze_panes) Файл "C: \ Users \ renaud.viot \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ pandas \ io \ excel.py",
строка 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 (значение) Файл "C: \ Users \ renaud.viot \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ openpyxl \ cell \ cell.py",
строка 193, в _bind_value
self._set_time_format (значение) Файл "C: \ Users \ renaud.viot \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ openpyxl \ cell \ cell.py",
строка 277, в _set_time_format
self.number_format = fmts [тип (значение)]
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()
Пожалуйста, смотрите ниже образец данных:
> 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 A 2018-08-30
> 7 A 2018-08-30
> 8 A 2018-08-30
> 9 A 2018-08-30
Должно быть что-то очевидное ...
Спасибо за помощь.
BR,
Renaud