今天朋友问了我个需求,就是如何将多个分析后的结果,也就是多个DataFrame,写入同一个excel工作簿中呢?
之前我只写过放在一个sheet中,但是怎么放在多个sheet中呢?下面我在本地windows电脑中写的。希望对广大程序员有所帮助。
# -*- coding: utf-8 -*- # @Time : 2019/6/21 14:36 # @Author : wujf # @Email : 1028540310@qq.com # @File : excel.py # @Software: PyCharm import pandas as pd import os import time path = "E:\Python\pandas_def\excel" if not os.path.exists(path): os.mkdir(path) #工作表名字 date_rand =time.strftime("%Y-%m-%d",time.localtime()) file_name = path+'\%s.xlsx'%date_rand writer = pd.ExcelWriter(file_name) data1 = [1,2,3,4] data2 = [5,6,7,8] # df1 = pd.DataFrame([[15,100,167],[18,120,178]],columns=['id','age','subject'],index=[1,2]) #columns和inex参数可要可不要 # df2 = pd.DataFrame([[24,134,175],[35,140,180]],index=[3,4]) '''或者''' df1 = pd.DataFrame({'name':data1}) #里面的data数据既可以是列表,也可以是字典 df2 = pd.DataFrame({'name':data2}) #写入缓存 df1.to_excel(writer,'df1') df2.to_excel(writer,'df2') #将缓存写入工作表 writer.save()
需要注意的是,期间遇到df1被df2覆盖的问题,这里我给出的解决办法是 ExcelWriter 这个方法。
拓展:
df2 = df1.copy 可以复制表格。
以上代码亲测通过,有不懂的可以下面留言问我,或者1028540310 Q我 ,大家一起进步!