国产化Excel开发组件Spire.XLS教程:使用Python将TXT文件转换为CSV
<p><img src="https://image.evget.com/attachment/keditor/image/20251022/113000_6.png"></p><p>在 Python 中处理数据时,将 TXT 文本文件转换为 CSV 是数据分析、报表生成或跨应用共享数据的常见需求。TXT 文件通常存储非结构化的纯文本,直接处理较为繁琐,而 CSV 文件能将数据组织成行和列,更便于分析和处理。在 Python 中处理数据时,将 TXT 文本文件转换为 CSV 是数据分析、报表生成或跨应用共享数据的常见需求。本文将详细介绍如何借助<strong>Spire.XLS</strong>使用 Python 实现 TXT 文件转 CSV,包括单文件转换、批量转换以及处理不同分隔符的技巧。</p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>Spire.XLS for Python试用下载,请联系慧都科技</strong></span></p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>欢迎加入Spire技术交流Q群(125237868),与更多小伙伴一起提升文档开发技能~</strong></span></p>
<h2>CSV 文件简介</h2>
<p>CSV(逗号分隔值)文件是一种基于文本的简单文件格式,用于存储表格数据。每一行表示一条记录,行内的值用逗号、制表符或自定义分隔符分隔。</p>
<p>CSV 文件具有以下优势:</p>
<ul>
<li>**广泛兼容:**Excel、Google Sheets、数据库及 Python、R、SQL 等编程环境均可读取。</li>
<li>**简单易用:**可方便地导入、导出和进行数据处理与分析。</li>
</ul>
<p>在实际应用中,CSV 文件可用来存储联系人信息、销售数据、日志数据等结构化数据,便于后续处理和分析。</p>
<h2>安装 Python TXT 转 CSV 库</h2>
<p><strong>Spire.XLS for Python</strong>是一个功能强大的库,不仅支持创建和编辑 Excel 文件,还能高效操作 CSV 文件,且无需安装 Microsoft Excel。借助 Spire.XLS,开发者可以轻松实现 TXT 转 CSV、数据写入、表格格式处理、公式计算以及批量文件操作等任务。</p>
<p><img src="https://image.evget.com/attachment/keditor/image/20251022/113217_9.png"></p>
<p> </p>
<p>你可以运行以下命令直接从 PyPI 安装该库:</p>
<pre class="prettyprint lang-bsh highlighter-hljs"><code>pip install Spire.XLS</code></pre>
<h2>在 Python 中将单个 TXT 文件转换为 CSV</h2>
<p>将单个TXT文本文件转换为 CSV 非常简单,只需以下几个步骤即可完成:</p>
<ul>
<li><strong>读取 TXT 文件</strong>:加载TXT文件并逐行读取文本内容。</li>
<li><strong>分割文本数据</strong>:根据分隔符(如空格、制表符或逗号)拆分字段。</li>
<li><strong>写入 CSV 文件</strong>:使用 Spire.XLS 将数据写入新的 CSV 文件。</li>
<li><strong>验证输出</strong>:在 Excel、Google Sheets 或文本编辑器中检查 CSV 文件。</li>
</ul>
<p><strong>示例代码:</strong></p>
<p>下面的代码示例展示如何使用 Python 导出 TXT 文本文件为 CSV:</p>
<pre class="prettyprint lang-py highlighter-hljs"><code>from spire.xls import *
# 读取 TXT 文件
with open("data.txt", "r", encoding="utf-8") as file:
lines = file.readlines()
# 处理每行数据(按空格分割,可根据需要更改分隔符)
processed_data =
# 创建 Excel 工作簿
workbook = Workbook()
# 获取第一个工作表
sheet = workbook.Worksheets
# 将处理后的数据写入工作表
for row_num, row_data in enumerate(processed_data):
for col_num, cell_data in enumerate(row_data):
sheet.Range.Value = cell_data
# 将工作表保存为 CSV 文件(UTF-8 编码)
sheet.SaveToFile("Txt转Csv.csv", ",", Encoding.get_UTF8())
# 释放工作簿资源
workbook.Dispose()</code></pre>
<p><strong>TXT 转 CSV 输出结果:</strong></p>
<p><img src="https://image.evget.com/attachment/keditor/image/20251022/113404_2.png"></p>
<p> </p>
<h2>批量转换多个 TXT 文件为 CSV</h2>
<p>如果你有多个文本文件需要自动转换为 CSV,可以遍历文件夹中的所有 .txt 文件,并逐一转换。</p>
<p>以下代码演示如何在 Python 中批量将多个 TXT 文件转换为 CSV:</p>
<pre class="prettyprint lang-js highlighter-hljs"><code>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 =
workbook = Workbook()
sheet = workbook.Worksheets
for row_num, row_data in enumerate(processed_data):
for col_num, cell_data in enumerate(row_data):
sheet.Range.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) + ".csv"
output_path = os.path.join(output_folder, output_name)
convert_txt_to_csv(input_path, output_path)</code></pre>
<h2>Python TXT 转 CSV 高级技巧</h2>
<p>在将文本文件转换为 CSV 时,不同文本文件可能存在格式差异或潜在错误,以下技巧可帮助你更高效地处理各种场景。</p>
<h3>1. 处理不同分隔符</h3>
<p>并非所有文本文件都使用空格分隔值。如果 TXT 文件使用制表符、逗号或其他字符,可调整 split() 函数以匹配分隔符:</p>
<ul>
<li><strong>制表符分隔文件(.tsv):</strong></li>
</ul>
<pre class="prettyprint lang-py highlighter-hljs"><code>processed_data = </code></pre>
<ul>
<li><strong>逗号分隔文件:</strong></li>
</ul>
<pre class="prettyprint lang-py highlighter-hljs"><code>processed_data = </code></pre>
<ul>
<li><strong>自定义分隔符(如 |):</strong></li>
</ul>
<pre class="prettyprint lang-py highlighter-hljs"><code>processed_data = </code></pre>
<p>这样可以确保数据在写入 CSV 前正确拆分为列。</p>
<h3>2. 添加错误处理</h3>
<p>读取或写入文件时,使用 try-except 捕获潜在错误,可增强脚本稳健性,避免意外崩溃:</p>
<pre class="prettyprint lang-py highlighter-hljs"><code>try:
# 你的代码
except Exception as e:
print("错误:", e)</code></pre>
<p>提示:使用清晰的错误信息提示便于理解问题所在。</p>
<h3>3. 跳过空行</h3>
<p>有些 TXT 文件可能包含空行,可在处理时过滤空行,避免在 CSV 中生成空行:</p>
<pre class="prettyprint lang-py highlighter-hljs"><code>processed_data = </code></pre>
<h3>总结</h3>
<p>本文介绍了如何使用 <strong>Spire.XLS for Python</strong> 在 Python 中将 TXT 文本文件转换为 CSV。通过这些方法,你可以轻松处理文本数据,使其适合分析、报表和共享。Spire.XLS 不仅支持单文件转换,还能实现批量处理,并可灵活应对不同分隔符和文本格式。</p>
<h2>常见问题解答:Python 文本转 CSV</h2>
<h3>Q1: 可以在未安装 Microsoft Excel 的情况下将 TXT 文件转换为 CSV 吗?</h3>
<p><strong>A1:</strong> 可以。<strong>Spire.XLS for Python</strong> 独立于 Excel,可直接创建和导出 CSV 文件。</p>
<h3>Q2: 如何在 Python 中批量将多个 TXT 文件转换为 CSV?</h3>
<p><strong>A2:</strong> 使用循环读取文件夹中的所有 TXT 文件,并对每个文件应用转换逻辑。教程中提供了可直接使用的 Python 批量转换示例。</p>
<h3>Q3: 转换时如何处理 TXT 文件中的空行或列数不一致的情况?</h3>
<p><strong>A3:</strong> 在处理过程中过滤空行,并检查列数一致性,以避免输出 CSV 中出现错误或空行。</p>
<h3>Q4: 如何在 Python 中将带制表符或自定义分隔符的 TXT 文件转换为 CSV?</h3>
<p><strong>A4:</strong> 可根据 TXT 文件中的分隔符调整 split() 函数--制表符 (\t)、逗号或其他自定义字符,然后再写入 CSV。</p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>Spire.XLS for Python试用下载,请联系慧都科技</strong></span></p>
<p style="text-align: center"><span style="color: rgba(230, 126, 35, 1)"><strong>欢迎加入Spire技术交流Q群(125237868),与更多小伙伴一起提升文档开发技能~</strong></span></p><br><br>
来源:https://www.cnblogs.com/software-Development/p/19157622
頁:
[1]