簡體   English   中英

使用熊貓寫入Excel工作表的日期錯誤

[英]Date error in writing to excel sheet using pandas

我正在使用pandas.DataFrame.to_excel()函數將從數據庫加載的一些文件寫入Excel電子表格。 使用的功能如下:

def country_reports(countries):
    writer = pd.ExcelWriter('country_reports.xlsx')
    for country in countries:
        df = report(country)
        df.to_excel(writer, country)
    writer.save()

report(country)方法僅返回該國家/地區的相關數據的數據DataFrame 我想針對多個國家/地區運行此報告,然后將每個國家/地區的數據顯示在Excel中自己的標簽中。 這通常很簡單,但是我的某些DataFrames中的日期早於1900,這使我無法寫Excel,因為它會引發錯誤:

ValueError:Excel不支持的年份:1861。

將這些文件作為CSV格式寫入時我沒有任何問題,所以我很好奇是否可以通過某種方式來創建具有以CSV格式表示的多個標簽的Excel文件? 如果不是,是否還有其他方法可以解決此問題?

您只需要在Excel中顯示日期? 如果是這樣,您可以將其轉換為字符串嗎?

df['date_col'] = df['date_col'].apply(lambda x: x.date().isoformat())

如果您實際上需要在Excel中使用日期,則最好將月/日/年分隔為單獨的列,如下所示:

df['year'] = df['date_col'].apply(lambda x: x.year)
df['day'] = df['date_col'].apply(lambda x: x.day)
df['month'] = df['date_col'].apply(lambda x: x.month)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM