一、安裝所需庫
在使用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-tw/n/136006.html