为 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})
在 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})