
- Python XlsxWriter 教程
- Python XlsxWriter - 首頁
- Python XlsxWriter - 概述
- Python XlsxWriter - 環境設定
- Python XlsxWriter - Hello World
- Python XlsxWriter - 重要類
- Python XlsxWriter - 單元格表示法和範圍
- Python XlsxWriter - 已定義的名稱
- Python XlsxWriter - 公式和函式
- Python XlsxWriter - 日期和時間
- Python XlsxWriter - 表格
- Python XlsxWriter - 應用篩選器
- Python XlsxWriter - 字型和顏色
- Python XlsxWriter - 數字格式
- Python XlsxWriter - 邊框
- Python XlsxWriter - 超連結
- Python XlsxWriter - 條件格式
- Python XlsxWriter - 新增圖表
- Python XlsxWriter - 圖表格式
- Python XlsxWriter - 圖表圖例
- Python XlsxWriter - 條形圖
- Python XlsxWriter - 折線圖
- Python XlsxWriter - 餅圖
- Python XlsxWriter - 微型圖表
- Python XlsxWriter - 資料驗證
- Python XlsxWriter - 大綱和分組
- Python XlsxWriter - 凍結和分割窗格
- Python XlsxWriter - 隱藏/保護工作表
- Python XlsxWriter - 文字框
- Python XlsxWriter - 插入圖片
- Python XlsxWriter - 頁面設定
- Python XlsxWriter - 頁首和頁尾
- Python XlsxWriter - 單元格批註
- Python XlsxWriter - 與Pandas一起使用
- Python XlsxWriter - VBA宏
- Python XlsxWriter 有用資源
- Python XlsxWriter - 快速指南
- Python XlsxWriter - 有用資源
- Python XlsxWriter - 討論
Python XlsxWriter - 與Pandas一起使用
Pandas 是一個流行的 Python 庫,用於資料處理和分析。我們可以使用 XlsxWriter 將Pandas 資料幀寫入 Excel 工作表。
要學習本節中描述的功能,我們需要在已安裝XlsxWriter的同一環境中安裝Pandas庫。
pip3 install pandas
使用 XlsxWriter 與 Pandas
讓我們從一個簡單的例子開始。首先,從整數列表中的資料建立一個 Pandas 資料幀。然後使用 XlsxWriter 作為引擎來建立 Pandas Excel 寫入器。藉助此引擎物件,我們可以將資料幀物件寫入 Excel 工作表。
示例
import pandas as pd df = pd.DataFrame({'Data': [10, 20, 30, 20, 15, 30, 45]}) writer = pd.ExcelWriter('hello.xlsx', engine='xlsxwriter') df.to_excel(writer, sheet_name='Sheet1') writer.save()
輸出
建立的工作表顯示如下:

向 Pandas 資料幀新增圖表
正如我們獲得 Workbook 類物件,然後透過呼叫其add_worksheet()方法獲得 Worksheet 物件一樣,寫入器物件也可以用於獲取這些物件。一旦我們得到它們,就可以使用 XlsxWriter 方法新增圖表、資料表等。
在這個例子中,我們設定了一個 Pandas 資料幀並獲取其維度(或形狀)。
import pandas as pd df = pd.DataFrame({'Data': [105, 60, 35, 90, 15, 30, 75]}) writer = pd.ExcelWriter('hello.xlsx', engine='xlsxwriter') df.to_excel(writer, sheet_name='Sheet1') (max_row, max_col) = df.shape
工作簿和工作表物件是從寫入器建立的。
workbook = writer.book worksheet = writer.sheets['Sheet1']
其餘的事情很簡單。圖表物件像我們之前做過的那樣被新增。
chart = workbook.add_chart({'type': 'column'}) chart.add_series({'values': ['Sheet1', 1, 1, max_row, 1]}) worksheet.insert_chart(1, 3, chart) writer.save()
示例
以下程式碼使用 Pandas 資料幀寫入 Excel 工作簿,並由 XlsxWriter 建立一個柱狀圖。
import pandas as pd df = pd.DataFrame({'Data': [105, 60, 35, 90, 15, 30, 75]}) writer = pd.ExcelWriter('hello.xlsx', engine='xlsxwriter') df.to_excel(writer, sheet_name='Sheet1') (max_row, max_col) = df.shape workbook = writer.book worksheet = writer.sheets['Sheet1'] chart = workbook.add_chart({'type': 'column'}) chart.add_series({'values': ['Sheet1', 1, 1, max_row, 1]}) worksheet.insert_chart(1, 3, chart) writer.save()
輸出
下面顯示了包含資料的柱狀圖:

將資料幀寫入 Excel 表格
類似地,資料幀可以寫入 Excel 表格物件。此處的dataframe源於一個Python字典,其中鍵是dataframe列標題。每個鍵都有一個列表作為值,該列表又成為每一列的值。
import pandas as pd df = pd.DataFrame({ 'Name': ['Namrata','Ravi','Kiran','Karishma'], 'Percent': [73.33, 70, 75, 65.5], 'RollNo': [1, 2,3,4]}) df = df[['RollNo', 'Name', 'Percent']] (max_row, max_col) = df.shape
使用 xlsxwriter 引擎將資料幀寫入工作表 (sheet1)
writer = pd.ExcelWriter('hello.xlsx', engine='xlsxwriter') df.to_excel(writer, sheet_name='Sheet1', startrow=1, header=False, index=False)
以下幾行給出 Workbook 和 Worksheet 物件。
workbook = writer.book worksheet = writer.sheets['Sheet1']
工作表中的資料使用 add_table() 方法轉換為表格。
column_settings = [{'header': column} for column in df.columns] worksheet.add_table(0, 0, max_row, max_col - 1, {'columns': column_settings}) writer.save()
示例
以下是將 pandas 資料幀寫入 Excel 表格的完整程式碼。
import pandas as pd df = pd.DataFrame({ 'Name': ['Namrata','Ravi','Kiran','Karishma'], 'Percent': [73.33, 70, 75, 65.5], 'RollNo': [1, 2,3,4] }) df = df[['RollNo', 'Name', 'Percent']] (max_row, max_col) = df.shape writer = pd.ExcelWriter('hello.xlsx', engine='xlsxwriter') df.to_excel(writer, sheet_name='Sheet1', startrow=1, header=False, index=False) workbook = writer.book worksheet = writer.sheets['Sheet1'] column_settings = [{'header': column} for column in df.columns] worksheet.add_table(0, 0, max_row, max_col - 1, {'columns': column_settings}) writer.save()
輸出
使用預設自動篩選設定的表格出現在 A1 單元格及其之後。
