Python實(shí)現(xiàn)將CSV轉(zhuǎn)換為帶格式的Excel
在日常的數(shù)據(jù)處理和報(bào)表生成工作中,CSV 格式因其簡潔性而被廣泛采用。但在展示數(shù)據(jù)時(shí),CSV 文件往往缺乏格式和結(jié)構(gòu)化樣式,不利于閱讀與分析。相比之下,Excel 格式(如 .xlsx)不僅支持豐富的樣式設(shè)置,還可直接用于報(bào)表分發(fā)和打印。
本文將介紹如何使用 Python 將 CSV 文件轉(zhuǎn)換為 Excel 文件,并根據(jù)需求添加樣式優(yōu)化,讓輸出結(jié)果更美觀、更專業(yè)。
安裝依賴
在開始之前,請確保已安裝 Free Spire.XLS for Python 庫。你可以使用pip命令安裝:pip install spire.xls.free。
示例 1:快速將 CSV 轉(zhuǎn)換為 Excel
如果只是將 CSV 文件轉(zhuǎn)換為 .xlsx 文件,無需任何格式調(diào)整,可以使用如下簡單代碼實(shí)現(xiàn):
from spire.xls import Workbook, ExcelVersion
workbook = Workbook()
workbook.LoadFromFile("data.csv", ",")
workbook.SaveToFile("output.xlsx", ExcelVersion.Version2013)
上述代碼會(huì)將 data.csv 轉(zhuǎn)換為 Excel 文件,保留原始內(nèi)容結(jié)構(gòu),默認(rèn)編碼為 UTF-8。如果你的 CSV 使用的是其他分隔符(如分號),可以通過調(diào)整第二個(gè)參數(shù)來修改。
示例 2:轉(zhuǎn)換并格式化輸出樣式
在實(shí)際業(yè)務(wù)中,我們往往希望輸出的 Excel 更具可讀性,例如將表頭加粗、設(shè)置背景色、為數(shù)字列添加格式等。下面的示例展示了如何在轉(zhuǎn)換后進(jìn)行樣式優(yōu)化:
from spire.xls import Workbook, ExcelVersion, ExcelColors
# 創(chuàng)建工作簿并加載 CSV 文件
workbook = Workbook()
workbook.LoadFromFile("data.csv", ",")
# 獲取第一個(gè)工作表
sheet = workbook.Worksheets[0]
# 設(shè)置表頭樣式(第一行)
header_style = workbook.Styles.Add("Header")
header_style.Font.isBold = True
header_style.KnownColor = ExcelColors.LightYellow
for col in range(1, sheet.LastColumn + 1):
sheet.Range[1, col].Style = header_style
# 設(shè)置數(shù)字列格式(示例中為 B 列,即第2列,從第2行開始)
num_style = workbook.Styles.Add("Numbers")
num_style.NumberFormat = "#,##0.00"
sheet.Range[2, 2, sheet.LastRow, 2].Style = num_style
# 自動(dòng)調(diào)整所有列寬
for i in range(1, sheet.LastColumn + 1):
sheet.AutoFitColumn(i)
# 保存為 Excel 文件(.xlsx)
workbook.SaveToFile("formatted_output.xlsx", ExcelVersion.Version2013)
這段代碼主要完成了三項(xiàng)增強(qiáng):
- 表頭高亮:加粗文字并設(shè)置淺黃色背景;
- 數(shù)字列格式化:以千分位并保留兩位小數(shù)方式展示;
- 列寬自適應(yīng):根據(jù)內(nèi)容長度自動(dòng)調(diào)整寬度,避免文本截?cái)唷?/li>
效果對比
未格式化版本:

簡單格式化后的 Excel:

并且表頭具備背景色,更加清晰醒目。
總結(jié)
通過本文示例,你可以輕松地將 CSV 文件轉(zhuǎn)換為 Excel 文檔,并添加基本的樣式和格式,提升數(shù)據(jù)的可視化效果。無論是用于內(nèi)部報(bào)表、客戶數(shù)據(jù)導(dǎo)出,還是定期自動(dòng)化輸出,Spire.XLS for Python 都能為你提供高效且靈活的解決方案。
更多功能與接口說明,請參考 Spire.XLS for Python官方文檔。
到此這篇關(guān)于Python實(shí)現(xiàn)將CSV轉(zhuǎn)換為帶格式的Excel的文章就介紹到這了,更多相關(guān)Python CSV轉(zhuǎn)Excel內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python封裝Netcat打造跨平臺(tái)文件傳輸利器
作為網(wǎng)絡(luò)安全工程師,我發(fā)現(xiàn)將命令行工具圖形化能極大提升滲透測試效率,本文我們就來看看Python如何封裝Netcat打造跨平臺(tái)文件傳輸利器,感興趣的可以了解下2025-07-07
Python并發(fā)爬蟲常用實(shí)現(xiàn)方法解析
這篇文章主要介紹了Python并發(fā)爬蟲常用實(shí)現(xiàn)方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
Python Socketserver實(shí)現(xiàn)FTP文件上傳下載代碼實(shí)例
這篇文章主要介紹了Python Socketserver實(shí)現(xiàn)FTP文件上傳下載代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
解讀殘差網(wǎng)絡(luò)(Residual Network),殘差連接(skip-connect)
這篇文章主要介紹了殘差網(wǎng)絡(luò)(Residual Network),殘差連接(skip-connect),具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
pandas創(chuàng)建DataFrame的方式小結(jié)
今天給大家整理了pandas創(chuàng)建DataFrame的方式小結(jié),現(xiàn)在我們就來看看這三種生成Dataframe的方式,每種方式通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-09-09

