pandas寫入多組數據到excel不同的sheet


今天朋友問了我個需求,就是如何將多個分析后的結果,也就是多個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我 ,大家一起進步!

 

 

 

拓展:

 

'''將多個表格合並在一個sheet中'''

import pandas as pd
writer2 = pd.ExcelWriter('ceshi.xlsx')

data1 = [1,2,3,4]
data2 = [5,6,7,8]

df1 = pd.DataFrame({'name':data1})
df2 = pd.DataFrame({'name':data2})

df1.to_excel(writer2)
df2.to_excel(writer2,startcol=5,startrow=10)   #表示第10行 第5列

writer2.save()

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM