原創|行業資訊|編輯:吉煒煒|2025-10-22 11:41:00.733|閱讀 1 次
概述:在 Python 中處理數據時,將 TXT 文本文件轉換為 CSV 是數據分析、報表生成或跨應用共享數據的常見需求。本文將詳細介紹如何借助Spire.XLS使用 Python 實現 TXT 文件轉 CSV,包括單文件轉換、批量轉換以及處理不同分隔符的技巧。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在 Python 中處理數據時,將 TXT 文本文件轉換為 CSV 是數據分析、報表生成或跨應用共享數據的常見需求。TXT 文件通常存儲非結構化的純文本,直接處理較為繁瑣,而 CSV 文件能將數據組織成行和列,更便于分析和處理。在 Python 中處理數據時,將 TXT 文本文件轉換為 CSV 是數據分析、報表生成或跨應用共享數據的常見需求。本文將詳細介紹如何借助Spire.XLS使用 Python 實現 TXT 文件轉 CSV,包括單文件轉換、批量轉換以及處理不同分隔符的技巧。
歡迎加入Spire技術交流Q群(125237868),與更多小伙伴一起提升文檔開發技能~
CSV(逗號分隔值)文件是一種基于文本的簡單文件格式,用于存儲表格數據。每一行表示一條記錄,行內的值用逗號、制表符或自定義分隔符分隔。
CSV 文件具有以下優勢:
在實際應用中,CSV 文件可用來存儲聯系人信息、銷售數據、日志數據等結構化數據,便于后續處理和分析。
Spire.XLS for Python是一個功能強大的庫,不僅支持創建和編輯 Excel 文件,還能高效操作 CSV 文件,且無需安裝 Microsoft Excel。借助 Spire.XLS,開發者可以輕松實現 TXT 轉 CSV、數據寫入、表格格式處理、公式計算以及批量文件操作等任務。
你可以運行以下命令直接從 安裝該庫:
pip install Spire.XLS
將單個TXT文本文件轉換為 CSV 非常簡單,只需以下幾個步驟即可完成:
示例代碼:
下面的代碼示例展示如何使用 Python 導出 TXT 文本文件為 CSV:
from spire.xls import * # 讀取 TXT 文件 with open("data.txt", "r", encoding="utf-8") as file: lines = file.readlines() # 處理每行數據(按空格分割,可根據需要更改分隔符) processed_data = [line.strip().split() for line in lines] # 創建 Excel 工作簿 workbook = Workbook() # 獲取第一個工作表 sheet = workbook.Worksheets[0] # 將處理后的數據寫入工作表 for row_num, row_data in enumerate(processed_data): for col_num, cell_data in enumerate(row_data): sheet.Range[row_num + 1, col_num + 1].Value = cell_data # 將工作表保存為 CSV 文件(UTF-8 編碼) sheet.SaveToFile("Txt轉Csv.csv", ",", Encoding.get_UTF8()) # 釋放工作簿資源 workbook.Dispose()
TXT 轉 CSV 輸出結果:
如果你有多個文本文件需要自動轉換為 CSV,可以遍歷文件夾中的所有 .txt 文件,并逐一轉換。
以下代碼演示如何在 Python 中批量將多個 TXT 文件轉換為 CSV:
import os from spire.xls import * # TXT 文件所在文件夾 input_folder = "txt_files" output_folder = "csv_files" # 如果輸出文件夾不存在,則創建 os.makedirs(output_folder, exist_ok=True) # 單個 TXT 文件轉換函數 def convert_txt_to_csv(file_path, output_path): with open(file_path, "r", encoding="utf-8") as f: lines = f.readlines() processed_data = [line.strip().split() for line in lines if line.strip()] workbook = Workbook() sheet = workbook.Worksheets[0] for row_num, row_data in enumerate(processed_data): for col_num, cell_data in enumerate(row_data): sheet.Range[row_num + 1, col_num + 1].Value = cell_data sheet.SaveToFile(output_path, ",", Encoding.get_UTF8()) workbook.Dispose() print(f"已轉換 '{file_path}' -> '{output_path}'") # 遍歷文件夾中所有 TXT 文件并轉換 for filename in os.listdir(input_folder): if filename.lower().endswith(".txt"): input_path = os.path.join(input_folder, filename) output_name = os.path.splitext(filename)[0] + ".csv" output_path = os.path.join(output_folder, output_name) convert_txt_to_csv(input_path, output_path)
在將文本文件轉換為 CSV 時,不同文本文件可能存在格式差異或潛在錯誤,以下技巧可幫助你更高效地處理各種場景。
并非所有文本文件都使用空格分隔值。如果 TXT 文件使用制表符、逗號或其他字符,可調整 split() 函數以匹配分隔符:
processed_data = [line.strip().split('\t') for line in lines]
processed_data = [line.strip().split(',') for line in lines]
processed_data = [line.strip().split('|') for line in lines]
這樣可以確保數據在寫入 CSV 前正確拆分為列。
讀取或寫入文件時,使用 try-except 捕獲潛在錯誤,可增強腳本穩健性,避免意外崩潰:
try: # 你的代碼 except Exception as e: print("錯誤:", e)
提示:使用清晰的錯誤信息提示便于理解問題所在。
有些 TXT 文件可能包含空行,可在處理時過濾空行,避免在 CSV 中生成空行:
processed_data = [line.strip().split() for line in lines if line.strip()]
本文介紹了如何使用 Spire.XLS for Python 在 Python 中將 TXT 文本文件轉換為 CSV。通過這些方法,你可以輕松處理文本數據,使其適合分析、報表和共享。Spire.XLS 不僅支持單文件轉換,還能實現批量處理,并可靈活應對不同分隔符和文本格式。
A1: 可以。Spire.XLS for Python 獨立于 Excel,可直接創建和導出 CSV 文件。
A2: 使用循環讀取文件夾中的所有 TXT 文件,并對每個文件應用轉換邏輯。教程中提供了可直接使用的 Python 批量轉換示例。
A3: 在處理過程中過濾空行,并檢查列數一致性,以避免輸出 CSV 中出現錯誤或空行。
A4: 可根據 TXT 文件中的分隔符調整 split() 函數--制表符 (\t)、逗號或其他自定義字符,然后再寫入 CSV。
————————————————————————————————————————
關于慧都科技:
慧都科技是一家行業數字化解決方案公司,長期專注于軟件、油氣與制造行業。公司基于深入的業務理解與管理洞察,以系統化的業務建模驅動技術落地,幫助企業實現智能化運營與長期競爭優勢。在軟件工程領域,我們提供開發控件、研發管理、代碼開發、部署運維等軟件開發全鏈路所需的產品,提供正版授權采購、技術選型、個性化維保等服務,幫助客戶實現技術合規、降本增效與風險可控。慧都科技E-iceblue的官方授權代理商,提供E-iceblue系列產品免費試用,咨詢,正版銷售等于一體的專業化服務。E-iceblue旗下Spire系列產品是國產文檔處理領域的優秀產品,支持國產化,幫助企業高效構建文檔處理的應用程序。
歡迎下載|體驗更多E-iceblue產品
獲取更多信息請咨詢 ;技術交流Q群(125237868)
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉載自:慧都網