pandas中的to_excel函数能够将数据导出为excel文件,但有一个问题是每次保存只能保存一个sheet,即时sheet名称不一样,最后一行的保存代码总会把之前保存的全部替换掉。
想要保存多个sheet在同一工作簿中,需要用到一个函数------pd.ExcelWriter()。
pd.ExcelWriter(path, engine=None, date_format=None, datetime_format=None, mode="w")
参数介绍:
- path:文件保存路径,如"D:\test\test.xlsx"(绝对路径和文件名都要有)
- engine:写入excel文件使用的引擎,默认为"None";一般情况下默认即可。
- date_format:将写入Excel文件中的日期格式化,如"YYYY-MM-DD";默认为"None";
- datetime_format:将写入excel文件中的时间格式化,如"YYYY-MM-DD HH: MM: SS"。默认为"None";
- mode:写入模式,有"w"–写入和"a"–追加;默认为"w";
这个函数有两种使用方法,原理和在python中打开一个文件一样。
# 方法一
xlsx = pd.ExcelWriter(r"d:\test.xlsx")
df1.to_excel(xlsx, sheet_name="df1")
df2.to_excel(xlsx, sheet_name="df2")
xlsx.close()
# 方法二
with pd.ExcelWriter(r"d:\test.xlsx") as xlsx:
df1.to_excel(xlsx, sheet_name="df1")
df2.to_excel(xlsx, sheet_name="df2")
df3.to_excel(xlsx, sheet_name="df3")
从代码可以很明显看出,这两种方法也是文件的打开方法。