1、直接使用df的to_excel()方法直接保存
2、使用ExcelWriter对象调用to_excel()方法进行保存
3、使用ExcelWriter 和openpyxl库进行excel操作
说明:1和2方法在进行保存前会情况excel的sheet页,及进行to_excel()时先清空表格的sheet页。2可以有多个sheet页
3会在原有excel的sheet页后添加sheet页,不清空原有sheet页。
下面用例子说明:
1、import pandas as pd
df = pd.DataFrame({'A':[1,2,3,4],'B':[11,12,13,14]}) #定义一个df对象
df.to_excel('test.xlsx',index=False) #将df对象保存为excel文件,不需要index
2 import pandas as pd
writer = pd.ExcelWriter('test.xlsx')
df = pd.DataFrame({'A':[1,2,3,4],'B':[11,12,13,14]})
df.to_excel(writer, sheet_name='test1')
df.to_excel(writer,sheet_name='test2')
writer.save()
writer.close()
说明:上面会保存2个sheet页,无论原test.xlsx文件是否有内容,或是否有test.xlsx文件,
3 import openpyxl
import pandas as pd
wb = openpyxl.load_workbook('test.xlsx')
writer = pd.ExcelWriter('test.xlsx')
writer.book = wb
df1 = pd.DataFrame() #定义一个空df对象
df2 = pd.DataFrame({'A':[1,2,3,4],'B':[11,12,13,14]})
df1.to_excel(writer,sheet_name='test1', index=False)
df2.to_excel(writer,sheet_name='test2', index=False)
writer.save()
writer.close()
说明:此种方法要持原有excel文件的sheet页,所有test.xlsx文件在当前文件下存在的,openpyxl.load_workbook()方法加载已知excel文件。以上执行一次会在现在excel文件的最后添加(test1,test2)两个sheet页,若test1或是test2 sheet页存在,则会在原有sheet页基础上添加1,如3再执行一次,则会再次添加(test11,test21)两个sheet页。
