翻譯|行業資訊|編輯:吉煒煒|2025-10-15 10:31:01.657|閱讀 16 次
概述:在當今的數據驅動時代,Python 開發者經常需要將列表(一種基本的 Python 數據結構)轉換為 Excel 電子表格。Excel 作為各行業通用的數據展示、報告生成與信息共享工具,無論是生成業務報告、準備分析數據,還是與非技術人員協作,掌握將 Python 列表導出為 Excel 的高效方法都至關重要。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在當今的數據驅動時代,Python 開發者經常需要將列表(一種基本的 Python 數據結構)轉換為 Excel 電子表格。Excel 作為各行業通用的數據展示、報告生成與信息共享工具,無論是生成業務報告、準備分析數據,還是與非技術人員協作,掌握將 Python 列表導出為 Excel 的高效方法都至關重要。
雖然像 pandas 這樣的輕量級庫可以處理基本的導出操作,但 Spire.XLS for Python 提供了對 Excel 格式、樣式及文件生成的完全控制,且無需依賴 Microsoft Excel。本文將探討如何使用該庫將各種列表結構。
歡迎加入Spire技術交流Q群(125237868),與更多小伙伴一起提升文檔開發技能~
Python 中的列表在存儲結構化或非結構化數據方面非常靈活,但 Excel 具有以下優勢:
無論是銷售數據、用戶信息還是調研結果,將 Python 列表寫入 Excel 都能讓數據更易訪問、更顯專業。
1. 通過 pip 安裝(最便捷方式):
打開終端 / 命令提示符,執行以下命令:
Copypip install Spire.XLS
2. 支持的功能與格式:
該庫兼容.xls(Excel 97-2003)和.xlsx(Excel 2007 及以上)格式,可自定義 Excel 樣式(如加粗標題、調整列寬、設置顏色),滿足生產環境下的文件生成需求。
對于基本的一維列表,您可以遍歷列表項并將它們寫入單個列或行中的連續單元格。 以下示例將文本列表轉換為單個列。如果需要轉換數值列表,您可以在保存前設置數字格式。
from spire.xls import *
from spire.xls.common import *
# 創建 Workbook 對象
workbook = Workbook()
# 清除默認工作表
workbook.Worksheets.Clear()
# 添加一個新工作表
worksheet = workbook.Worksheets.Add("簡單列表")
# 準備待導出的一維列表(示例:產品列表)
data_list = ["鼠標", "鍵盤", "顯示器", "音響", "硬盤"]
# 將列表數據寫入Excel單元格(從第1行、第1列開始)
for index, value in enumerate(data_list):
    worksheet.Range[index + 1, 1].Value = value
# 設置列寬以提高可讀性
worksheet.Range[1, 1].ColumnWidth = 15
# 保存工作簿
workbook.SaveToFile("簡單列表.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
如果您需要將列表導出到單個行,可以使用以下代碼: 
for index, value in enumerate(data_list):
    worksheet.Range[1, index + 1].Value = value
 
 
嵌套列表(二維列表)表示含行 / 列結構的表格數據,非常適合直接轉換為 Excel 表格。下面我們將一個包含員工數據(姓名、年齡、部門)的嵌套列表導出為 Excel 表格,并優化標題樣式。
from spire.xls import *
from spire.xls.common import *
# 創建一個Workbook對象
workbook = Workbook()
# 清除默認工作表
workbook.Worksheets.Clear()
# 添加一個新工作表
worksheet = workbook.Worksheets.Add("員工數據")
# 嵌套列表(行:[姓名、年齡、部門])
employee_data = [
    ["姓名", "年齡", "部門"],  # 標題行
    ["Alexander", 30, "人力資源"],
    ["Bob", 28, "技術"],
    ["Charlie", 35, "市場"],
    ["Diana", 29, "財務"]
]
# 將嵌套列表寫入 Excel
for row_idx, row_data in enumerate(employee_data):
    for col_idx, value in enumerate(row_data):
        # 區分數據類型
        if isinstance(value, int):
            worksheet.Range[row_idx + 1, col_idx + 1].NumberValue = value
        else:
            worksheet.Range[row_idx + 1, col_idx + 1].Value = value
# 格式化標題行
worksheet.Range["A1:C1"].Style.Font.IsBold = True
worksheet.Range["A1:C1"].Style.Color = Color.get_Yellow()
# 設置列寬
worksheet.Range[1, 1].ColumnWidth = 10  
worksheet.Range[1, 2].ColumnWidth = 6 
worksheet.Range[1, 3].ColumnWidth = 15
# 保存工作簿
workbook.SaveToFile("二維列表.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
關鍵說明:
輸出結果:
 
 
擴展建議:若需進一步優化表格,可使用 Spire.XLS 的其他功能,如添加單元格邊框、設置條件格式或應用其他格式選項。
字典列表在 Python 中常用于存儲帶有標簽字段的結構化數據(如 API 返回數據、數據庫查詢結果)。本示例將字典列表(如客戶記錄)導出為 Excel,并實現標題自動提取、列寬自適應。
from spire.xls import *
from spire.xls.common import *
# 創建一個Workbook對象
workbook = Workbook()
# 清除默認工作表
workbook.Worksheets.Clear()
# 添加一個新工作表
worksheet = workbook.Worksheets.Add("客戶數據")
# 準備字典列表(每個字典對應一條客戶數據,鍵為字段名)
customers = [
    {"ID": 101, "姓名": "張xx", "郵箱": "zhang@ example.com"},
    {"ID": 102, "姓名": "王xx", "郵箱": "wang@ example.com"},
    {"ID": 103, "姓名": "李xx", "郵箱": "li@ example.com"}
]
# 自動提取標題
headers = list(customers[0].keys())
# 將標題寫入第1行
for col, header in enumerate(headers):
    worksheet.Range[1, col + 1].Value = header
    worksheet.Range[1, col + 1].Style.Font.IsBold = True  # 標題加粗
# 寫入數據行
for row, customer in enumerate(customers, start=2):  # 從第2行開始
    for col, key in enumerate(headers):
        value = customer[key]
        if isinstance(value, (int, float)):
            worksheet.Range[row, col + 1].NumberValue = value
        else:
            worksheet.Range[row, col + 1].Value = value
# 自動調整列寬
worksheet.AutoFitColumn(2) 
worksheet.AutoFitColumn(3) 
# 保存文件
workbook.SaveToFile("字典列表.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
核心優勢:
輸出結果:
 
 
通過 Python 將列表轉換為 Excel 表格是數據處理的核心技能。Spire.XLS 能輕松創建精致、可用于生產環境的文件。無論是處理簡單列表、嵌套數據還是字典,上述示例都能根據不同場景需求進行調整。
答:pandas 非常適合快速、基礎的導出,但格式控制能力弱(難調整字體、顏色、邊框)。而 Spire.XLS 更適合精細化導出,支持:
答:在 SaveToFile 中使用 ExcelVersion 參數:
workbook.SaveToFile("output.xlsx", ExcelVersion.Version2016)
workbook.SaveToFile("output.xls", ExcelVersion.Version97to2003)
答:針對不同數據類型,需使用對應的賦值屬性:
答:創建 Workbook 時,Spire.XLS for Python 會生成默認工作表。因此,如果不使用 Workbook.Worksheets.Clear() 清除它們,最終 Excel 文件會包含額外的空工作表。
答:確認使用 1-based 索引(Excel 行 / 列從 1 開始,而非 Python 的 0 開始,以及數據類型是否與預期格式匹配。另外,確認在釋放工作簿之前已保存文件。
————————————————————————————————————————
關于慧都科技:
慧都科技是一家行業數字化解決方案公司,長期專注于軟件、油氣與制造行業。公司基于深入的業務理解與管理洞察,以系統化的業務建模驅動技術落地,幫助企業實現智能化運營與長期競爭優勢。在軟件工程領域,我們提供開發控件、研發管理、代碼開發、部署運維等軟件開發全鏈路所需的產品,提供正版授權采購、技術選型、個性化維保等服務,幫助客戶實現技術合規、降本增效與風險可控?;鄱伎萍糆-iceblue的官方授權代理商,提供E-iceblue系列產品免費試用,咨詢,正版銷售等于一體的專業化服務。E-iceblue旗下Spire系列產品是國產文檔處理領域的優秀產品,支持國產化,幫助企業高效構建文檔處理的應用程序。
歡迎下載|體驗更多E-iceblue產品
獲取更多信息請咨詢 ;技術交流Q群(125237868)
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉載自:慧都網