Несоответствие даты и года для разных листов CSV между% y и% Y в Python - PullRequest
0 голосов
/ 10 марта 2020

У меня есть два CSV-файла, они выглядят одинаково, один имеет формат даты, подобный следующему, когда я дважды щелкаю по каждой строке «9/9/2017 9:18:00 AM», но то, что выглядит в файле CSV без двойного щелчка 9/9/17 9:18. Для этого CSV следующий формат не возвращает никакой ошибки. '% m /% d /% Y% H:% M'

Другой файл CSV, когда я дважды щелкаю строку, вызывает следующее: "17.05.2020 8:30:00 AM" но без двойного щелчка, это выглядит так 17.05.20 8:30. Однако для этого файла «% m /% d /% Y% H:% M» возвращает ошибку о том, что не найден соответствующий формат.

Я знаю, что% y для двухзначного года, а% Y для 4 цифр однако может ли кто-нибудь сказать мне, почему первый CSV не возвращает ошибку или почему первый CSV возвращает ошибку?

Есть ли какая-либо команда, которую я могу выполнить, чтобы проверить, есть ли больше различий между этими двумя файлами CSV

1 Ответ

0 голосов
/ 10 марта 2020

Обычно офисное приложение интерпретирует файлы CSV, считывает информацию о дате и времени и отображает их в измененном формате в соответствии с приложением (MSExcel)

Поэтому, чтобы узнать реальные различные форматы, используйте простой текстовый редактор, такой как nodepad , nodepad ++, чтобы увидеть разницу.

Наряду с этим, вы можете использовать функцию парсера, которая проверяет несколько форматов.

from datetime import datetime

def try_parsing_date(text):
    for fmt in ('%Y-%m-%d', '%d.%m.%Y', '%d/%m/%Y'):
        try:
            return datetime.strptime(text, fmt)
        except ValueError:
            pass
    raise ValueError('no valid date format found')

Приведенный выше код ссылается из ответа здесь

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