在日常的數據處理和報表生成工作中,CSV 格式因其簡潔性而被廣泛采用。但在展示數據時,CSV 文件往往缺乏格式和結構化樣式,不利于閱讀與分析。相比之下,Excel 格式(如 .xlsx
)不僅支持豐富的樣式設置,還可直接用于報表分發和打印。
本文將介紹如何使用 Python 將 CSV 文件轉換為 Excel 文件,并根據需求添加樣式優化,讓輸出結果更美觀、更專業。
文章目錄
- 安裝依賴
- 示例 1:快速將 CSV 轉換為 Excel
- 示例 2:轉換并格式化輸出樣式
- 效果對比
- 總結
安裝依賴
在開始之前,請確保已安裝 Free Spire.XLS for Python 庫。你可以使用pip命令安裝:pip install spire.xls.free
。
示例 1:快速將 CSV 轉換為 Excel
如果只是將 CSV 文件轉換為 .xlsx
文件,無需任何格式調整,可以使用如下簡單代碼實現:
from spire.xls import Workbook, ExcelVersionworkbook = Workbook()
workbook.LoadFromFile("data.csv", ",")
workbook.SaveToFile("output.xlsx", ExcelVersion.Version2013)
上述代碼會將 data.csv
轉換為 Excel 文件,保留原始內容結構,默認編碼為 UTF-8。如果你的 CSV 使用的是其他分隔符(如分號),可以通過調整第二個參數來修改。
示例 2:轉換并格式化輸出樣式
在實際業務中,我們往往希望輸出的 Excel 更具可讀性,例如將表頭加粗、設置背景色、為數字列添加格式等。下面的示例展示了如何在轉換后進行樣式優化:
from spire.xls import Workbook, ExcelVersion, ExcelColors# 創建工作簿并加載 CSV 文件
workbook = Workbook()
workbook.LoadFromFile("data.csv", ",")# 獲取第一個工作表
sheet = workbook.Worksheets[0]# 設置表頭樣式(第一行)
header_style = workbook.Styles.Add("Header")
header_style.Font.isBold = True
header_style.KnownColor = ExcelColors.LightYellowfor col in range(1, sheet.LastColumn + 1):sheet.Range[1, col].Style = header_style# 設置數字列格式(示例中為 B 列,即第2列,從第2行開始)
num_style = workbook.Styles.Add("Numbers")
num_style.NumberFormat = "#,##0.00"
sheet.Range[2, 2, sheet.LastRow, 2].Style = num_style# 自動調整所有列寬
for i in range(1, sheet.LastColumn + 1):sheet.AutoFitColumn(i)# 保存為 Excel 文件(.xlsx)
workbook.SaveToFile("formatted_output.xlsx", ExcelVersion.Version2013)
這段代碼主要完成了三項增強:
- 表頭高亮:加粗文字并設置淺黃色背景;
- 數字列格式化:以千分位并保留兩位小數方式展示;
- 列寬自適應:根據內容長度自動調整寬度,避免文本截斷。
效果對比
未格式化版本:
簡單格式化后的 Excel:
并且表頭具備背景色,更加清晰醒目。
總結
通過本文示例,你可以輕松地將 CSV 文件轉換為 Excel 文檔,并添加基本的樣式和格式,提升數據的可視化效果。無論是用于內部報表、客戶數據導出,還是定期自動化輸出,Spire.XLS for Python 都能為你提供高效且靈活的解決方案。
更多功能與接口說明,請參考 Spire.XLS for Python官方文檔。