Невозможно записать в рабочий лист Excel правильный формат даты с помощью Pandas - PullRequest
2 голосов
/ 31 октября 2019

Фон:

1, использовал Python для выполнения SQL и сохранял вывод в формате DataFrame с помощью Pandas.

2, добавлял вывод в мой существующий файл Excel как один новый рабочий лист,

Ниже приведен мой код:

from pandas import ExcelWriter

sql_20 = ''''''

db = cx_Oracle.connect('*****', '*******', '**********')
conn = db.cursor()

conn.execute(sql_20)
df = pandas.read_sql_query(sql_20,db)
print(df)

with ExcelWriter('GUCS6J-Job Data.xlsx', mode='a') as writer:
    df.to_excel(writer, sheet_name=str(20))
writer.save()

База данных: Oracle

Столбец Тип данных: дата

Результат SQL из Oracle:

enter image description here

Печать DataFrame из Python:

enter image description here

Пока чтотак хорошо


Но что я получил на листе Excel:

enter image description here

enter image description here

Мне любопытно, почему я получил '##################' и значение этой ячейки составляет -693594 вExcel.

Я надеюсь, что смогу получить тот же результат, что и печать DataFrame в файле Excel.

1 Ответ

0 голосов
/ 31 октября 2019

Пожалуйста, обратитесь к этим двум ссылкам, чтобы увидеть, решит ли это вашу проблему. https://xlsxwriter.readthedocs.io/example_pandas_datetime.html DataFrame для панд Python "Дата" Индексируйте другой формат в xlsx и csv

Я думаю, что вынужно добавить date_format в ваш ExcelWriter ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...