(數據科學學習手札52)pandas中的ExcelWriter和ExcelFile


一、簡介

  pandas中的ExcelFile()和ExcelWriter(),是pandas中對excel表格文件進行讀寫相關操作非常方便快捷的類,尤其是在對含有多個sheet的excel文件進行操控時非常方便,本文就將針對這兩個類的使用方法展開介紹;

 

二、ExcelFile()

  在使用ExcelFile()時需要傳入目標excel文件所在路徑及文件名稱,下面是示例:

import pandas as pd

demo_excel = pd.ExcelFile(r'D:\demo.xlsx')

  查看demo_excel的類型:

type(demo_excel)

  接下來可以使用ExcelFile()中的方法來獲取目標表格文件的相關信息:

  1、sheet_names

  使用sheet_names來查看當前表格中包含的所有sheet名稱(按順序):

print(demo_excel.sheet_names)

  2、parse()

  使用parse()可以根據傳入的sheet名稱來提取對應的表格信息,下面是一個簡單的示例:

table1 = demo_excel.parse(sheet_name=demo_excel.sheet_names[0])

table2 = demo_excel.parse(sheet_name=demo_excel.sheet_names[1])

table3 = demo_excel.parse(sheet_name=demo_excel.sheet_names[2])

print(table1)
print(table2)
print(table3)

  

三、ExcelWriter()

  使用ExcelWriter()可以向同一個excel的不同sheet中寫入對應的表格數據,首先需要創建一個writer對象,傳入的主要參數為已存在容器表格的路徑及文件名稱:

writer = pd.ExcelWriter(r'D:\demo.xlsx')
print(type(writer))

  基於已創建的writer對象,可以利用to_excel()方法將不同的數據框及其對應的sheet名稱寫入該writer對象中,並在全部表格寫入完成之后,使用save()方法來執行writer中內容向對應實體excel文件寫入數據的過程:

'''創建數據框1'''
df1 = pd.DataFrame({'V1':np.random.rand(100),
                    'V2 ':np.random.rand(100),
                    'V3':np.random.rand(100)})
df1.to_excel(writer,sheet_name='sheet1',index=False)

'''創建數據框2'''
df2 = pd.DataFrame({'V1':np.random.rand(100),
                    'V2 ':np.random.rand(100),
                    'V3':np.random.rand(100)})
df2.to_excel(writer,sheet_name='sheet2',index=False)

'''創建數據框3'''
df3 = pd.DataFrame({'V1':np.random.rand(100),
                    'V2 ':np.random.rand(100),
                    'V3':np.random.rand(100)})
df3.to_excel(writer,sheet_name='sheet3',index=False)

'''數據寫出到excel文件中'''
writer.save()

  這時之前指定的外部excel文件中便成功存入相應的內容:

 

 

  以上就是本文的全部內容,如有筆誤望指出。

 


免責聲明!

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



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