strptime не меняет формат даты в Excel - PullRequest
0 голосов
/ 07 мая 2020

Я читаю таблицу и пишу в CSV. У меня есть несколько столбцов, в которых я хочу изменить формат даты. Ниже приведен код, который у меня есть

    for row in out[1]:
        dt = datetime.datetime.strptime(row[18], '%Y-%m-%d %H:%M:%S.%f')
        row[18] = dt.strftime('%Y-%m-%d)
        print(row[18])

Кажется, он меняет формат даты на то, что я ищу, потому что оператор печати показывает это, но когда я открываю лист Excel, который он написал, формат даты похож на 11/12/2019 вместо 2020-11-12.

Есть какой-нибудь совет? Я пытаюсь предотвратить изменение даты формата вручную после открытия excel

1 Ответ

0 голосов
/ 07 мая 2020

Скорее всего, то, что вам показывает Excel, не соответствует исходным данным. Excel автоматически форматирует поля при их отображении. Следовательно, если он откроет CSV и увидит 2020-11-12, он распознает, что это дата, и отобразит ее для вас как отформатированное поле даты. Если вы хотите сохранить поле как ТЕКСТ, которое Excel будет знать как ТЕКСТ, тогда ячейка должна начинаться с символа «'». Попробуйте добавить это:

row[18] = dt.strftime('\'%Y-%m-%d')
...