datetime вместо str в read_excell с пандами - PullRequest
0 голосов
/ 05 марта 2019

У меня есть набор данных, сохраненный в файле xls.
В этом наборе данных есть 4 столбца, представляющих даты, в формате дд / мм / гггг.
Моя проблема в том, что когда я читаю его в python, используяpandas и функция read_excel все столбцы читаются как строки, кроме одного, читаются как datetime64 [ns], также если я указываю dtypes = {column = str}.Почему?

1 Ответ

0 голосов
/ 05 марта 2019

Даты в Excel часто хранятся в виде чисел, что позволяет вам делать такие вещи, как вычитать их, даже если они могут отображаться в виде удобочитаемых дат, таких как дд / мм / гггг.Pandas легко берет эти числа и интерпретирует их как даты, что позволяет вам более гибко обращаться с ними.

Чтобы превратить их в строки, вы можете использовать аргумент converters для pd.read_excel, например, так:

df = pd.read_excel(filename, converters={'name_of_date_column': lambda dt: dt.strftime('%d/%m/%Y')})

Метод strftime позволяет форматировать даты так, как вам нравится.Задание конвертера для вашего столбца позволяет применять функцию к данным, которые вы читаете.

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