一、安裝所需庫
在使用Dataframe寫入Excel格式之前,需要安裝pandas庫和openpyxl庫。
二、導入數據到Dataframe
首先,需要將要寫入Excel的數據導入到Dataframe中。導入數據有多種方式,可以手動創建Dataframe,也可以通過讀取Excel、CSV等文件格式來導入。下面舉例,通過手動創建Dataframe的方式來演示:
import pandas as pd
data = {'學號': ['001', '002', '003', '004', '005'],
'姓名': ['張三', '李四', '王五', '趙六', '劉七'],
'班級': ['一班', '二班', '三班', '一班', '二班'],
'語文': [85, 89, 90, 92, 95],
'數學': [92, 88, 85, 90, 87],
'英語': [80, 87, 88, 92, 90]}
df = pd.DataFrame(data)
上述代碼創建了一個包含6列數據的Dataframe。其中,每一列的列名分別為“學號”、“姓名”、“班級”、“語文”、“數學”和“英語”,每一行分別對應了一位學生的信息。
三、導出Dataframe到Excel
1. 默認寫入Excel
使用Dataframe的to_excel()方法,可以將Dataframe導出到Excel中。以下代碼演示了如何將上述Dataframe導出到“score.xlsx”文件中:
df.to_excel('score.xlsx')
默認情況下,to_excel()方法將Dataframe的每一列寫入到Excel的一個工作表中,工作表的名稱默認為“Sheet1”。
2. 寫入指定工作表
通過指定參數“sheet_name”,可以將Dataframe寫入到指定的工作表中。以下代碼演示了如何將Dataframe導出到Excel文件“score.xlsx”中的工作表“Sheet2”中:
df.to_excel('score.xlsx', sheet_name='Sheet2')
3. 寫入多個工作表
通過多次調用to_excel()方法,可以將多個Dataframe寫入到一個Excel文件中的不同工作表中。以下代碼演示了如何將上述Dataframe和一個新的Dataframe(分數表)分別寫入到Excel文件“score.xlsx”中的兩個工作表中:
df1 = pd.DataFrame({'學號': ['001', '002', '003', '004', '005'],
'考試時間': ['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04', '2021-01-05']})
writer = pd.ExcelWriter('score.xlsx')
df.to_excel(writer, sheet_name='學生成績')
df1.to_excel(writer, sheet_name='考試信息')
writer.save()
上述代碼首先創建了一個新的Dataframe,名為df1,包含了每位學生的考試時間信息。然後,通過使用pd.ExcelWriter()方法創建一個ExcelWriter對象,將兩個Dataframe都寫入到該對象中。最後通過save()方法將對象中的內容寫入到Excel文件中。
4. 寫入Excel指定位置
在使用to_excel()方法導出Dataframe到Excel文件中時,可以通過使用ExcelWriter對象將Dataframe寫入到指定位置。
首先,需要通過openpyxl庫中的load_workbook()方法加載Excel文件。以下代碼演示了如何將上述Dataframe寫入Excel文件“score.xlsx”中的工作表“Sheet1”中的第二行第一列(即B2)的位置:
from openpyxl import load_workbook
book = load_workbook('score.xlsx')
writer = pd.ExcelWriter('score.xlsx', engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
df.to_excel(writer, sheet_name='Sheet1', startrow=1, startcol=0)
writer.save()
在使用openpyxl庫中的load_workbook()方法加載Excel文件之後,需要通過設置“engine”參數為“openpyxl”,將ExcelWriter對象的book屬性指定為已加載的Excel文件,並將其sheets屬性設置為Excel文件中的所有工作表。之後,通過指定參數“startrow”和“startcol”,可以將Dataframe寫入到指定位置。
原創文章,作者:VCDJ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/136006.html