В файле Excel во всех столбцах с датами есть артефакты (пробелы, “длинные” пробелы), и сам формат даты Excel не воспринимает как дату без ручного преобразования: сам файл в приложении “Python file”.
Я смог (вроде бы ) решить часть задачи: весь файл отчищается от артефактов для типа object (так Python воспринимает столбцы с датами) и конкретный столбец преобразуется в тип “дата”.
Но мне необходимо преобразовать в дату все столбцы, выбрав их по ключевому слову “Дата” (“дата”).
Помогите, пожалуйста, по следующим вопросам:
1. Можно задать эти столбцы списком? но он будет фиксированный по набору элементов…
Поэтому лучше по ключевому слову, если файл в дальнейшем будет менять формат.
2. Можно задать более короткий формат даты, чем "'datetime64'"?
Просто YYYY-MM-DD.
Буду признателен за помощь.
Мой код ниже:
import pandas as pd
import numpy as np
loan_portfel = pd.read_excel("*/Python file.xlsx",sheet_name = 'Sheet1', header=[0], skiprows = [0, 1, 2, 3, 5])
df = pd.DataFrame(loan_portfel) #, columns = ['Дата'])
#pd.set_option('display.max_rows', None, 'display.max_columns', 114)
def strip_obj(col):
if col.dtypes == object:
return (col.astype(str)
.str.strip()
.replace({'nan': np.nan}))
return col
df = df.apply(strip_obj, axis=0)
df['Дата досрочного погашения транша'] = df['Дата досрочного погашения транша'].astype('datetime64[ns]')
df.to_excel("*/output.xlsx")