我正在使用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中自己的选项卡中。这通常很简单,但我的某些DataFrame中的日期早于1900年,这使我无法写入Excel,因为它会抛出错误:
ValueError:Excel不支持年份:1861。
将这些文件写为CSV时我没有遇到任何问题,所以我很好奇是否有某种方法可以创建一个包含多个由CSV表示的标签的Excel文件?如果没有,是否还有其他解决方法?
答案 0 :(得分:1)
您只需要在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)