Как распечатать значение даты T-1 на листе Excel

#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, в строке формул не отображается временная метка. Я записываю эту информацию в систему, и временная метка, похоже, вызывает проблему