如何read_excel与dayfirst条件?

时间:2015-02-26 09:47:28

标签: python pandas

我正在尝试通过pandas read_excel。我有一个日期列,格式为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'

2 个答案:

答案 0 :(得分:2)

您可以将dayfirst=True作为参数传递给read_excel,虽然文档不会声明这是一个它认可的参数,它会接受kwargs并解决您的问题:

df = pd.read_excel('new.xlsx', dayfirst=True) 

答案 1 :(得分:0)

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 对象的所有功能,因此最好在导出期间执行此操作。