Исходный файл xls на самом деле хранит эти поля как datetime.
Когда вы открываете его в Excel - вы видите, что он отформатирован так, как Excel думает, что вы хотите видеть его, основываясь на ваших настройках / локали ОС / и т. Д..
Когда python читает файл, ячейки даты становятся объектами даты python.
CSV-файлы в основном просто текстовые, они не могут содержать объекты даты и времени.
Когда python необходимо записать объект datetime в текстовый файл, он получает полный текст.
Таким образом, у вас есть 2 варианта:
- Измените исходный столбец даты файла на тип текста.или лучший вариант:
- Используйте python для итерации этих полей и измените текстовый формат, который вы хотели бы видеть в csv.
Я просто попытался воспроизвести вашу проблему безsuccess:
>>>import pandas as pd
>>>xls_data = pd.read_excel('test.xls', sheet_name=0, index_cole=None)
>>>xls_data
name date
0 walla 1988-12-10
1 cool 1999-12-10
>>>xls_data.to_csv(encoding='utf-8', index=False)
'name,date\nwalla,1988-12-10\ncool,1999-12-10\n'`
PS Каждый раз, когда вы имеете дело с объектами datetime, вы должны проверить результат, чтобы увидеть, что-нибудь изменится в зависимости от настроек вашего компьютера.