为 pandas read_excel 创建 lambda

create lambda for pandas read_excel

在 PyCharm 中,我试图创建一个日期解析器 lambda 以传递给 pandas.read_excel,但它抛出一个 TypeError:strptime() argument 1 must be string, not datetime.datetime:

parser = lambda x: datetime.strptime(x, "%d-%m-%y")
read_file = pd.read_excel(
    file_path, skiprows=2, parse_dates=[10, 13], date_parser=parser
)

有更好的方法吗?

可能 parse_dates 和可选的 date_parser 相互冲突。

一种解决方法是使用 converters 代替,根据 Pandas read_excel documentation,如下所示:

from datetime import datetime

import pandas as pd

parser = lambda x: datetime.strptime(x, "%d-%m-%y")

df = pd.read_excel("path_to_file", skiprows=2, converters={10: parser, 13: parser})