使用 Python 將 CSV 文件轉換為帶格式的 Excel 文件

在日常的數據處理和報表生成工作中,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)

這段代碼主要完成了三項增強:

  1. 表頭高亮:加粗文字并設置淺黃色背景;
  2. 數字列格式化:以千分位并保留兩位小數方式展示;
  3. 列寬自適應:根據內容長度自動調整寬度,避免文本截斷。

效果對比

未格式化版本:

Python轉換CSV到Excel

簡單格式化后的 Excel:

Python轉換CSV到Excel并設置格式

并且表頭具備背景色,更加清晰醒目。

總結

通過本文示例,你可以輕松地將 CSV 文件轉換為 Excel 文檔,并添加基本的樣式和格式,提升數據的可視化效果。無論是用于內部報表、客戶數據導出,還是定期自動化輸出,Spire.XLS for Python 都能為你提供高效且靈活的解決方案。

更多功能與接口說明,請參考 Spire.XLS for Python官方文檔。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/90699.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/90699.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/90699.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

每天讀本書-《如何度過每天的24小時》

全景式書籍探索框架 1. “這本書是關于什么的?”——核心定位 一句話核心思想:這本書的核心并非教你如何高效地工作,而是倡導你將工作之外的“自由時間”視為一個“內在的另一天”,并投入智力與熱情去經營它,從而獲得精…

前端開發 React 狀態優化

為了更深入地理解 React 狀態管理的性能問題及其解決方案,本文將詳細分析 React Context 和 State 的性能問題,配以示例代碼說明優化策略。之后,討論 Redux 作為不可變庫的性能問題,并引出 Immer 作為優化解決方案。1. React Stat…

劍指offer第2版:雙指針+排序+分治+滑動窗口

一、p129-JZ21使奇數位于偶數前面(不考慮相對位置)(hoare快排雙指針) 調整數組順序使奇數位于偶數前面(二)_牛客題霸_牛客網 如果不考慮相對位置的話,那么我們可以模仿hoare快排,使用雙指針的思想&#xf…

14-C語言:第14天筆記

C語言:第14天筆記 內容提要 指針 變量指針與指針變量 指針變量做函數參數指針變量指向數組元素 數組指針與指針數組 數組指針回顧 變量指針與指針變量 變量指針:變量的地址值(首地址),本質是指針、地址 指針變量&#…

【筆記】活度系數推導

文章目錄一、理想溶液的假設與局限性1.1 理想溶液的定義1.2 理想溶液的局限性二、活度與活度系數的引入2.1 活度的定義2.2 修正后的化學勢表達式三、活度系數的物理意義四、為什么需要活度系數?4.1 理論需求4.2 擴散理論中的必要性五、活度系數的具體作用5.1 在化學…

基于Docker的GPU版本飛槳PaddleOCR部署深度指南(國內鏡像)2025年7月底測試好用:從理論到實踐的完整技術方案

還是網上沒找到這個基于Docker的GPU版本飛槳PaddleOCR部署教程,于是就有了這一篇。 這個的確坑很多,可能后面變一個版本就不好用了,也是為什么這篇博客不完全粘貼代碼的原因。 端口是示例,可以隨意改。在人工智能與文檔數字化高速…

Python-初學openCV——圖像預處理(三)

目錄 一、邊緣填充 1、邊界復制 2、邊界反射 3、邊界反射101 4、邊界常數 5、邊界包裹 二、透視變換 三、圖像掩膜 1、制作掩膜 2、與運算 3、顏色替換 四、ROI切割 五、圖像添加水印 一、邊緣填充 我們對圖像進行處理后,需要對空出來的區域進行一個填充…

【ESP32設備通信】-W5500與ESP32 /ESP32 S3集成

W5500與ESP32 /ESP32 S3集成 文章目錄 W5500與ESP32 /ESP32 S3集成 1、W5500介紹 2、硬件準備與接線 3、代碼實現 3.1 以太網設置 3.2 簡單HTTP請求 3.3 HTTPS請求 3.4 查詢證書 ESP32 憑借其強大的 Wi-Fi 功能,一直是物聯網項目的熱門選擇。ESP32 現在支持帶有 SSL 的原生以太…

vue - 使用canvas繪制驗證碼

封裝繪制驗證碼 verify-code.vue<template><div class"captcha"><canvas ref"canvasRef" :width"width" :height"height" click"refreshCaptcha"></canvas></div> </template><scri…

[10月考試] F

[10月考試] F 題目描述 給定長度為 nnn 的序列 ana_nan?&#xff0c;保證 aia_iai? 為非負整數。 mmm 次詢問&#xff0c;每次給定區間 l,rl,rl,r&#xff0c;求出 al,al1,…,ara_l,a_{l1},\ldots,a_ral?,al1?,…,ar? 的 mexmexmex。 對于一個序列&#xff0c;定義其 mexm…

收集了全球55個AI寫作工具

我們即將推出一整套AI生產力工具矩陣&#xff0c;覆蓋內容創作&#xff08;AI寫作助手&#xff09;、視覺設計&#xff08;智能圖像處理&#xff09;、音視頻制作&#xff08;自動轉錄與編輯&#xff09;及智能編程等多個核心領域。這些解決方案通過先進的機器學習算法&#xf…

Elastic 勞動力的生成式 AI:ElasticGPT 的幕后解析

作者&#xff1a;來自 Elastic Jay Shah, Adhish Thite ElasticGPT — 由 Elastic 提供支持&#xff0c;專為 Elastic 打造 ElasticGPT 是我們基于檢索增強生成&#xff08;RAG&#xff09;框架構建的內部生成式 AI &#xff08;GenAI&#xff09;助手。它是使用 Elastic 自有…

CS231n-2017 Assignment1

KNN&#xff1a;這里要求我們完成一個KNN分類器&#xff0c;實現對圖片使用KNN算法進行分類標簽k_nearest_neighbor.py這里要求我們完成4個接口# X:測試集 # 使用兩個循環 def compute_distances_two_loops(self, X):num_test X.shape[0]num_train self.X_train.shape[0]dist…

[python][flask]Flask-Principal 使用詳解

Flask-Principal 是一個專為 Flask 應用設計的身份管理和權限控制擴展。它能夠幫助開發者輕松實現用戶身份驗證和權限管理&#xff0c;從而提升應用的安全性和用戶體驗。該項目最初由 Ali Afshar 開發&#xff0c;現已成為 Pallets 社區生態系統的一部分&#xff0c;由社區共同…

抖音與B站爬蟲實戰,獲取核心數據

本文將深入講解兩大主流短視頻平臺&#xff08;抖音、B站&#xff09;的爬蟲實戰技術&#xff0c;提供可直接運行的代碼解決方案&#xff0c;并分享突破反爬機制的核心技巧。一、平臺特性與爬蟲難點對比平臺數據價值主要反爬措施推薦抓取方式抖音視頻數據、用戶畫像、熱榜簽名驗…

WSL切換網絡模式

WSL切換網絡模式問題WSL從NAT改成MIRRORED找到WSL Setting修改配置重啟電腦&#xff08;注意不是重啟WSL&#xff09;運行pio run驗證IP問題 從魚香ROS買了一個小魚車&#xff0c;開始學習&#xff0c;然而裝環境都要搞死我了。 垃圾VirtualBox我新買的電腦&#xff0c;裝個Vi…

[Linux入門] Linux 遠程訪問及控制全解析:從入門到實戰

目錄 一、SSH 遠程管理&#xff1a;為什么它是遠程訪問的首選&#xff1f; 1??什么是 SSH&#xff1f; 2??SSH 為什么比傳統工具更安全&#xff1f; 3??SSH 的 “三大組成部分” 4??SSH 工作的 “五步流程” 5??常用 SSH 工具 二、實戰&#xff1a;構建 SSH 遠…

n8n AI資訊聚合與分發自動化教程:從數據獲取到微信與Notion集成

引言 n8n簡介&#xff1a;自動化工作流利器 n8n是一款功能強大的開源自動化工具&#xff0c;采用獨特的“公平代碼”&#xff08;Fair-Code&#xff09;許可模式&#xff0c;旨在幫助用戶連接各種應用程序和服務&#xff0c;從而實現工作流的自動化。它通過直觀的可視化界面&am…

遞歸查詢美國加速-技術演進與行業應用深度解析

在當今數據驅動的時代&#xff0c;遞歸查詢已成為處理層級數據的核心技術&#xff0c;尤其在美國科技領域獲得廣泛應用。本文將深入解析遞歸查詢在美國加速發展的關鍵因素&#xff0c;包括技術演進、行業應用場景以及性能優化策略&#xff0c;幫助讀者全面理解這一重要技術趨勢…

【AIGC專欄】WebUI實現圖片的縮放

圖片的縮放包含如下的各類不同的縮放模型。 Lanczos Lanczos重采樣是一種數學上精確的方法,用于圖像放大或縮小。它使用了一種稱為 sinc 函數的數學公式,可以在保留圖像細節的同時減少鋸齒效應。 Nearest 最近鄰插值是一種簡單的圖像放大方法,通過復制最近的像素值來填充新…