#python #xlsxwriter
#python #xlsxwriter
Вопрос:
Я хотел бы напечатать значение даты T-1 в Excel, однако я не получаю желаемого результата.
Это мой код ниже:
import os
import xlsxwriter
from datetime import datetime, timedelta
report_date = datetime.today() - timedelta(days=1)
Workbook = xlsxwriter.Workbook("C:\Users\SChogle\Documents\Projects\Python Projects\Web Scraping\Date.xlsx")
Worksheet1 = Workbook.add_worksheet("Imp Pen")
formatdict = {'num_format': 'yyyy/mm/dd'}
fmt = Workbook.add_format(formatdict)
Worksheet1.set_column('A:A', 30, fmt)
Worksheet1.write('A2', report_date)
Workbook.close()
file = "C:\Users\SChogle\Documents\Projects\Python Projects\Web Scraping\Date.xlsx"
os.startfile(file)
Я ожидаю увидеть, например, при запуске кода сегодня, «2019-04-09» в Excel. Вместо этого я вижу «2019-04-09 12:51:03 PM» Мне не нужна временная метка, только дата.
Комментарии:
1. Это могут быть некоторые конфигурации ОС с вашей стороны, если я запущу ваш код, я получу правильно сформированный
date
столбец only, показывающий2019-04-10
…2. эй, у вас есть какие-либо идеи, как я мог бы это изменить? Я бы просто перешел к настройкам даты и времени? Кроме того, отображается ли «2019-04-09» и в строке формул?
Ответ №1:
Я запустил ваш код, и, похоже, он дает ожидаемый результат:
Обновление: если вам не нужна временная часть, используйте date
вместо datetime
:
from datetime import date, timedelta
report_date = date.today() - timedelta(days=1)
Комментарии:
1. эй, да, я получаю то же значение, однако оно показывает метку времени в строке формул. Однако, когда я просто набираю «2019-04-09» в ячейку Excel, в строке формул не отображается временная метка. Я записываю эту информацию в систему, и временная метка, похоже, вызывает проблему