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)
上述代碼會將 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
# 自動調(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)容長度自動調(diào)整寬度,避免文本截?cái)唷?/li>
效果對比
未格式化版本:

簡單格式化后的 Excel:

并且表頭具備背景色,更加清晰醒目。
總結(jié)
通過本文示例,你可以輕松地將 CSV 文件轉(zhuǎn)換為 Excel 文檔,并添加基本的樣式和格式,提升數(shù)據(jù)的可視化效果。無論是用于內(nèi)部報(bào)表、客戶數(shù)據(jù)導(dǎo)出,還是定期自動化輸出,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+selenium搭建自動化測試環(huán)境
今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識,文章圍繞著如何用Python+selenium搭建自動化測試環(huán)境展開,文中有非常詳細(xì)的介紹,需要的朋友可以參考下2021-06-06
Python連接Postgres/Mysql/Mongo數(shù)據(jù)庫基本操作大全
在后端應(yīng)用開發(fā)中,經(jīng)常會用到Postgres/Mysql/Mongo這三種數(shù)據(jù)庫的基本操作,今天小編就給大家詳細(xì)介紹Python連接Postgres/Mysql/Mongo數(shù)據(jù)庫基本操作,感興趣的朋友一起看看吧2021-06-06
用于ETL的Python數(shù)據(jù)轉(zhuǎn)換工具詳解
這篇文章主要介紹了用于ETL的Python數(shù)據(jù)轉(zhuǎn)換工具,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
純python實(shí)現(xiàn)機(jī)器學(xué)習(xí)之kNN算法示例
本篇文章主要介紹了純python實(shí)現(xiàn)機(jī)器學(xué)習(xí)之kNN算法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03
python 實(shí)現(xiàn)仿微信聊天時(shí)間格式化顯示的代碼
這篇文章主要介紹了python 實(shí)現(xiàn)仿微信聊天時(shí)間格式化顯示,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-04-04
Python利用imshow制作自定義漸變填充柱狀圖(colorbar)
這篇文章主要介紹了Python利用imshow制作自定義漸變填充柱狀圖(colorbar),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12

