Python使用Spire.XLS for Python高效實現(xiàn)Excel與CSV互轉(zhuǎn)
在數(shù)據(jù)密集的日常工作中,Excel 和 CSV 是最常用的兩種數(shù)據(jù)格式。無論是財務(wù)報表、銷售數(shù)據(jù)還是系統(tǒng)導(dǎo)出結(jié)果,這兩種文件都扮演著重要角色。而在實際使用中,文件格式之間的相互轉(zhuǎn)換幾乎是不可避免的需求——有時需要將 CSV 轉(zhuǎn)成 Excel 以便進行格式化或可視化分析,有時又要把 Excel 數(shù)據(jù)導(dǎo)出為 CSV 以便與其他系統(tǒng)集成或進行輕量處理。
手動復(fù)制、粘貼和調(diào)整格式不僅耗時,還容易出錯。相比之下,使用 Python 實現(xiàn)自動化轉(zhuǎn)換可以大大提升效率與準(zhǔn)確性。本文將介紹如何使用 Spire.XLS for Python 輕松完成 Excel 與 CSV 文件的互轉(zhuǎn),讓數(shù)據(jù)轉(zhuǎn)換更高效、更可靠。
為什么選擇 Python 進行數(shù)據(jù)轉(zhuǎn)換
Python 在數(shù)據(jù)處理領(lǐng)域擁有極其豐富的生態(tài)系統(tǒng)和簡潔的語法,是實現(xiàn)自動化任務(wù)的理想工具。相比手動操作,使用 Python 處理 Excel 與 CSV 轉(zhuǎn)換有以下優(yōu)勢:
- 高效省時:可批量處理文件,幾秒內(nèi)完成。
- 結(jié)果準(zhǔn)確:避免人工輸入造成的格式或編碼錯誤。
- 可重復(fù)執(zhí)行:一次編寫腳本,隨時復(fù)用,適合周期性任務(wù)。
- 靈活擴展:可輕松集成到更復(fù)雜的自動化或數(shù)據(jù)分析流程中。
在眾多 Python 庫中,Spire.XLS for Python 以其對 Excel 與 CSV 的高兼容性和穩(wěn)定性能而脫穎而出。它支持多種 Excel 版本,并能靈活控制 CSV 的分隔符、編碼和格式細(xì)節(jié),是企業(yè)級數(shù)據(jù)處理的可靠選擇。
在開始前,請使用以下命令安裝Spire.XLS 庫:
pip install spire.xls
示例一:Excel 轉(zhuǎn) CSV
將 Excel 文件轉(zhuǎn)換為 CSV 文件,是常見的數(shù)據(jù)導(dǎo)出需求。下面的示例演示如何用 Spire.XLS 將 Excel 文件高效地導(dǎo)出為 CSV:
from spire.xls import *
# 定義輸入和輸出文件路徑
input_excel = "input.xlsx"
output_csv = "output.csv"
# 創(chuàng)建一個示例 Excel 文件
workbook_create = Workbook()
sheet = workbook_create.Worksheets[0]
sheet.Name = "員工信息"
sheet.Range["A1"].Value = "姓名"
sheet.Range["B1"].Value = "年齡"
sheet.Range["C1"].Value = "城市"
sheet.Range["A2"].Value = "張三"
sheet.Range["B2"].Value = "25"
sheet.Range["C2"].Value = "北京"
sheet.Range["A3"].Value = "李四"
sheet.Range["B3"].Value = "30"
sheet.Range["C3"].Value = "上海"
workbook_create.SaveToFile(input_excel, ExcelVersion.Version2016)
workbook_create.Dispose()
# 加載 Excel 文件
workbook = Workbook()
workbook.LoadFromFile(input_excel)
# 獲取第一個工作表并導(dǎo)出為 CSV 文件
sheet = workbook.Worksheets[0]
sheet.SaveToFile(output_csv, ",", Encoding.get_UTF8())
workbook.Dispose()
print(f"Excel 文件 '{input_excel}' 已成功轉(zhuǎn)換為 CSV 文件 '{output_csv}'")
說明:
通過 sheet.SaveToFile() 方法,可以直接將 Excel 轉(zhuǎn)換為 CSV 文件。第三個參數(shù)用于指定編碼(如 Encoding.get_UTF8()),第二個參數(shù)為分隔符(如逗號 , 或分號 ;)。
示例二:CSV 轉(zhuǎn) Excel
將 CSV 文件轉(zhuǎn)換為 Excel 格式,可以更方便地進行格式設(shè)置、計算或制圖。以下示例演示如何完成這一過程:
from spire.xls import *
from spire.xls.common import *
# 定義輸入和輸出文件路徑
input_csv = "input.csv"
output_excel = "output.xlsx"
# 創(chuàng)建一個示例 CSV 文件
csv_content = "姓名,年齡,城市\(zhòng)n王五,28,廣州\n趙六,35,深圳\n"
with open(input_csv, "w", encoding="utf-8") as f:
f.write(csv_content)
# 創(chuàng)建 Workbook 對象并加載 CSV 文件
workbook = Workbook()
workbook.LoadFromFile(input_csv, ",", 1, 1)
# 自動調(diào)整列寬
sheet = workbook.Worksheets[0]
sheet.AllocatedRange.AutoFitColumns()
# 保存為 Excel 文件
workbook.SaveToFile(output_excel, ExcelVersion.Version2016)
workbook.Dispose()
print(f"CSV 文件 '{input_csv}' 已成功轉(zhuǎn)換為 Excel 文件 '{output_excel}'")
說明:
LoadFromFile() 方法可以直接加載 CSV 文件,并指定分隔符(如 ,)及起始行列。
使用 sheet.AllocatedRange.AutoFitColumns() 可自動調(diào)整列寬,讓內(nèi)容完整顯示。
方法補充
使用Python將Excel轉(zhuǎn)換為CSV
將Excel文件轉(zhuǎn)換為CSV文件是數(shù)據(jù)導(dǎo)出的常見需求。利用 Spire.XLS for Python,這一過程變得異常簡單。
轉(zhuǎn)換步驟:
- 創(chuàng)建Workbook對象: 實例化一個 Workbook 對象用于加載Excel文件。
- 加載Excel文件: 使用 LoadFromFile() 方法加載目標(biāo)Excel文件。
- 選擇工作表: 獲取需要轉(zhuǎn)換的工作表。默認(rèn)情況下,通常是第一個工作表。
- 保存為CSV格式: 調(diào)用工作表的 SaveToFile() 方法,并指定輸出CSV文件的路徑、分隔符和編碼。
- 釋放資源: 調(diào)用 Dispose() 方法釋放Workbook資源,這是一個良好的編程習(xí)慣。
示例代碼:
from Spire.Xls import *
from System.Text import Encoding
# 創(chuàng)建一個Workbook對象
workbook = Workbook()
# 加載Excel文件
workbook.LoadFromFile("input.xlsx")
# 獲取第一個工作表
worksheet = workbook.Worksheets[0]
# 將工作表保存為CSV格式
# 參數(shù)依次是:輸出文件路徑,分隔符(例如逗號),編碼方式
worksheet.SaveToFile("output.csv", ",", Encoding.get_UTF8())
# 釋放資源
workbook.Dispose()
print("Excel文件已成功轉(zhuǎn)換為CSV文件:output.csv")在上述代碼中,input.xlsx 是您的源Excel文件,output.csv 是生成的CSV文件。我們使用了逗號作為分隔符,并指定了UTF-8編碼,以確保數(shù)據(jù)在不同系統(tǒng)間的兼容性。
使用Python將CSV轉(zhuǎn)換為Excel
將CSV文件轉(zhuǎn)換為Excel文件,通常是為了方便數(shù)據(jù)的進一步分析、格式化或共享。Spire.XLS for Python 同樣能輕松應(yīng)對這一任務(wù)。
轉(zhuǎn)換步驟:
- 創(chuàng)建Workbook對象: 實例化一個 Workbook 對象。
- 加載CSV文件: 使用 LoadFromFile() 方法加載目標(biāo)CSV文件,并指定分隔符及數(shù)據(jù)起始行/列。
- 保存為Excel格式: 調(diào)用 SaveToFile() 方法,并指定輸出Excel文件的路徑和版本。
- 釋放資源: 調(diào)用 Dispose() 方法釋放Workbook資源。
示例代碼:
from Spire.Xls import *
# 創(chuàng)建一個Workbook對象
workbook = Workbook()
# 加載CSV文件
# 參數(shù)依次是:文件路徑,分隔符,第一個數(shù)據(jù)行(從1開始),第一個數(shù)據(jù)列(從1開始)
workbook.LoadFromFile("input.csv", ",", 1, 1)
# 保存為XLSX格式
# 參數(shù)依次是:輸出文件路徑,Excel版本(例如Version2016)
workbook.SaveToFile("output.xlsx", ExcelVersion.Version2016)
# 釋放資源
workbook.Dispose()
print("CSV文件已成功轉(zhuǎn)換為Excel文件:output.xlsx")在此示例中,input.csv 是您的源CSV文件,output.xlsx 是生成的Excel文件。LoadFromFile 方法的第三個和第四個參數(shù) 1, 1 表示數(shù)據(jù)從CSV文件的第一行第一列開始讀取,這對于處理帶有標(biāo)題行的CSV文件非常有用。ExcelVersion.Version2016 指定了輸出的Excel文件版本。
實用技巧與注意事項
1.編碼設(shè)置
處理 CSV 文件時,編碼非常重要。如果編碼不匹配,容易出現(xiàn)亂碼。
在保存或加載文件時,可以通過 Encoding.get_UTF8() 或 Encoding.get_GB2312() 指定編碼。
若不確定文件編碼,可借助 chardet 庫檢測。
2.大文件性能
對于數(shù)十萬行以上的大型文件,建議分批讀取或確保充足的內(nèi)存資源。
3.特殊字符處理
當(dāng)單元格中包含分隔符或引號時,Spire.XLS 會自動進行轉(zhuǎn)義處理,確保導(dǎo)出的 CSV 格式正確無誤。
4.異常處理
在自動化腳本中加入 try-except 塊和日志記錄,可幫助快速定位錯誤,如文件路徑錯誤或格式異常。
總結(jié)
借助 Spire.XLS for Python,Excel 與 CSV 文件的相互轉(zhuǎn)換不再繁瑣。 通過簡單幾行代碼,就能完成過去需要手動操作的任務(wù),大大提高了效率和準(zhǔn)確性。
到此這篇關(guān)于Python使用Spire.XLS for Python高效實現(xiàn)Excel與CSV互轉(zhuǎn)的文章就介紹到這了,更多相關(guān)Python Excel與CSV互轉(zhuǎn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python+JavaScript實現(xiàn)瀏覽器讀取本地excel數(shù)據(jù)
一般來說,為了網(wǎng)絡(luò)訪問安全,瀏覽器是不能直接加載本地文件的,本文主要討論研究一種非IE內(nèi)核瀏覽器讀取本地excel數(shù)據(jù)的方法,繞開這個限制,希望對大家有所幫助2025-09-09
Python中staticmethod和classmethod的作用與區(qū)別
今天小編就為大家分享一篇關(guān)于Python中staticmethod和classmethod的作用與區(qū)別,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10
Python?OpenCV實現(xiàn)圖片預(yù)處理的方法詳解
這篇文章主要為大家詳細(xì)介紹了Python?OpenCV實現(xiàn)圖片預(yù)處理的方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的可以了解一下2022-09-09
Python基礎(chǔ)教程之控制結(jié)構(gòu)詳解
Python中有三大控制結(jié)構(gòu),分別是順序結(jié)構(gòu)、分支結(jié)構(gòu)(選擇結(jié)構(gòu))以及循環(huán)結(jié)構(gòu),任何一個項目或者算法都可以使用這三種結(jié)構(gòu)來設(shè)計完成,這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)教程之控制結(jié)構(gòu)的相關(guān)資料,需要的朋友可以參考下2021-11-11
Python實現(xiàn)PDF文字識別提取并寫入CSV文件
這篇文章主要是和大家分享一個Python實現(xiàn)PDF文字識別與提取并寫入?CSV文件的腳本。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-03-03
python虛擬環(huán)境virtualenv的安裝與使用
virtualenv用于創(chuàng)建獨立的Python環(huán)境,多個Python相互獨立,互不影響,它能夠:1. 在沒有權(quán)限的情況下安裝新套件 2. 不同應(yīng)用可以使用不同的套件版本 3. 套件升級不影響其他應(yīng)用2017-09-09

