如何使用 dayfirst 条件 read_excel?
How to read_excel with a dayfirst condition?
我正在尝试 read_excel 到 pandas。我有一个格式为 DD/MM/YYYY 的日期列。 Pandas 会自动将其作为月首阅读,据我所知,没有像 read_csv 那样的日首功能。
有没有办法在指定日期格式时执行 read_excel?
xlxs_data = pd.DataFrame()
df = pd.read_excel('new.xlsx')
xlsx_data = xlxs_data.append(df, ignore_index=True, dayfirst=True)
TypeError: append() got an unexpected keyword argument 'dayfirst'
您可以将 dayfirst=True
作为参数传递给 read_excel
,尽管文档没有说明这是它识别的参数,但它接受 kwargs 并将解决您的问题:
df = pd.read_excel('new.xlsx', dayfirst=True)
dayfirst
边界不适用于 pandas 版本 1.1.4 中的 read_excel
。文档声明“对于非标准日期时间解析,在 pd.read_excel 之后使用 pd.to_datetime”。
所以读入你的数据
df = pd.read_excel('new.xlsx', engine="openpyxl")
然后用这个
pd.to_datetime(df['col_name'], dayfirst=True)
或者这个
pd.to_datetime(df['col_name'], format='%d/%m/%Y')
可以在此处找到有关格式代码的一些信息https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior
请记住,Pandas 以 ISO 格式 YYYY-MM-DD 显示日期。如果要转换为不同的格式,则需要将日期时间对象转换为字符串。但如果这样做,您将失去 datetime 对象的所有功能,因此最好在导出期间这样做。
我正在尝试 read_excel 到 pandas。我有一个格式为 DD/MM/YYYY 的日期列。 Pandas 会自动将其作为月首阅读,据我所知,没有像 read_csv 那样的日首功能。 有没有办法在指定日期格式时执行 read_excel?
xlxs_data = pd.DataFrame()
df = pd.read_excel('new.xlsx')
xlsx_data = xlxs_data.append(df, ignore_index=True, dayfirst=True)
TypeError: append() got an unexpected keyword argument 'dayfirst'
您可以将 dayfirst=True
作为参数传递给 read_excel
,尽管文档没有说明这是它识别的参数,但它接受 kwargs 并将解决您的问题:
df = pd.read_excel('new.xlsx', dayfirst=True)
dayfirst
边界不适用于 pandas 版本 1.1.4 中的 read_excel
。文档声明“对于非标准日期时间解析,在 pd.read_excel 之后使用 pd.to_datetime”。
所以读入你的数据
df = pd.read_excel('new.xlsx', engine="openpyxl")
然后用这个
pd.to_datetime(df['col_name'], dayfirst=True)
或者这个
pd.to_datetime(df['col_name'], format='%d/%m/%Y')
可以在此处找到有关格式代码的一些信息https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior
请记住,Pandas 以 ISO 格式 YYYY-MM-DD 显示日期。如果要转换为不同的格式,则需要将日期时间对象转换为字符串。但如果这样做,您将失去 datetime 对象的所有功能,因此最好在导出期间这样做。