如何将 TXT 文本转换为 CSV 文件? 分享 3 种免费高效方法

无论是数据分析师、学生,还是需要经常处理纯文本文档的从业者,大概率都遇到过需要将 TXT 转换为 CSV 格式的场景。TXT 文件通用性强但无结构化格式,难以导入电子表格、数据库或编程工具;而 CSV(逗号分隔值)文件是表格数据常用交换格式,兼容全平台且易于排序、筛选,是数据流转的核心格式。

本文整理了 3 种实用的 TXT 转 CSV 方法,覆盖手动快速转换、在线工具、Python 批量自动化,满足不同场景需求。

转换前预处理

开始转换前,花2分钟检查你的 TXT 文件,可避免列错位、文本乱码等常见问题:

  • 确认分隔符:分隔符是 TXT 文件中分隔不同数值的字符。多数 TXT 文件使用逗号或制表符,用记事本 / 文本编辑器打开查看即可。
  • 格式统一:保证 TXT 文件中每一行的分隔符数量一致。例如,若第一行是姓名,年龄,城市,后续每一行都应包含2个逗号(如张三,28,北京)。
  • 检查编码格式:为避免文本乱码,建议将 TXT 文件保存为 UTF-8 编码(数据文件的标准编码)。在记事本中,点击 “文件” → “另存为”,从 “编码” 下拉菜单中选择 “UTF-8” 即可。

方法一:通过 Excel 手动将 TXT 转为 CSV

若仅需转换 1-2 个、百行以内的小型 TXT 文件,通过电子表格软件手动转换即可。Microsoft Excel 是最常用的文本转 CSV 工具,操作步骤如下:

  1. 打开 Excel 并新建一个工作簿;
  2. 点击 “数据” → “获取数据” → “从文件” → “从文本/CSV” (Office 365/2019);
  3. 选中目标 TXT 文件,点击 “导入”;
  4. Excel 导入向导会自动检测分隔符;
  5. 预览TXT数据,并按需调整设置:
    • 文件原始格式(UTF-8、ASCII等)
    • 分隔符(逗号、制表符、分号、空格)
    • 数据类型检测

将文本文件导入Excel电子表格

  1. 点击 “加载”,将 TXT 数据导入 Excel 工作表;
  2. 将文件另存为 CSV 格式:依次点击 “文件” → “另存为”,从 “保存类型” 下拉菜单中选择 “CSV(逗号分隔)(*.csv)”,选择保存路径后点击 “保存”。

将TXT数据另存为CSV文件

想将 CSV 文件转换回 TXT 文本?参考教程: 如何将 CSV 转换为 TXT:4种高效方法

方法二:使用免费在线 TXT 转 CSV 转换器

在线转换器操作快捷、无需下载,且兼容所有浏览器。ConvertioZamzar 是两款可靠的文本转 CSV 工具,均支持批量处理。

在线 TXT 转 CSV 操作步骤:

  1. 打开所选择的转换器(如 Convertio TXT 到 CSV 转换器);
  2. 点击 “选择文件” 并选中目标 TXT 文件(或直接拖放文件);
  3. 确认输入格式为 “TXT” 、输出格式为 “CSV”;
  4. 点击 “转换”,小文件 1-2 秒即可完成;
  5. 点击 “下载”,保存 CSV 文件至本地。

Convertio免费在线TXT转CSV转换器

适用场景:一次性快速转换、无电子表格软件的用户、临时处理小型文件。

扩展阅读:将 JSON 转换为 CSV:免费工具 & Python 自动化

方法三:使用 Python 转换 TXT 为 CSV

若需转换大量 TXT 文本文件,或想自动化转换流程,Python 是最高效的方式。本文将借助免费库 Free Spire.XLS for Python 实现转换(无需安装 Excel)。

步骤1:安装免费库

1
pip install spire.Xls.Free

步骤2:单文件转换代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from spire.xls import *

# 读取TXT文件
with open("产品.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 文件的逻辑为:

  1. 读取 TXT 文本文件的所有内容,存储为行列表;
  2. 通过 strip()(清理空格)+ split()(拆分字符),将每行 TXT 文本转换为结构化数据;
  3. 创建空白 Excel 工作簿,并获取第一个工作表;
  4. 通过 Range[行, 列].Value 将二维列表数据写入 Excel 单元格;
  5. 通过 SaveToFile() 将工作表保存为 CSV 文件;
  6. 释放 Excel 工作簿占用的系统资源。

转换效果

通过Python将TXT转为CSV

适用场景:批量转换数百/数千个 TXT 文件、需自动化流程、自定义分隔符/编码的场景

CSV 文件不存储格式信息。若需添加格式(加粗、颜色等),可参考通过 Python 将 TXT 转换为 Excel

总结

TXT 转 CSV 看似简单,但要做到准确转换,需理解数据结构、选择合适工具并验证转换结果。偶尔转换时,电子表格软件或在线工具是最简单快捷的方法;重复批量转换时,Python 脚本效率最高、可控性强。掌握 TXT 文本转 CSV 的方法,可解决常见的数据流转难题,让数据分析、报表制作和数据共享流程更顺畅。

关于 TXT 转 CSV 的常见问题

Q:能否不借助 Excel 实现 TXT 转 CSV?

答:可以。用 Convertio 等在线工具,或使用 Python 结合 Free Spire.XLS 库实现转换。

Q:能否批量转换多个 TXT 文件为 CSV?

答:可以。使用支持批量上传的在线转换器即可;若通过 Python 批量转换多个文本文件为 CSV 格式,只需在代码中添加循环逻辑:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import os

# 存放TXT文件的文件夹路径(替换为你的路径)
txt_folder = "path/to/your/txt/files"
# 保存CSV文件的文件夹路径
output_folder = "path/to/save/csv/files"

# 若输出文件夹不存在则创建
os.makedirs(output_folder, exist_ok=True)

# 遍历所有TXT文件
for filename in os.listdir(txt_folder):
if filename.endswith(".txt"):
txt_path = os.path.join(txt_folder, filename)
csv_filename = os.path.splitext(filename)[0] + ".csv"
csv_path = os.path.join(output_folder, csv_filename)
# 此处插入TXT转CSV的核心逻辑

Q:若 TXT 文件使用自定义分隔符(如竖线 |)该怎么办?

答:所有转换方法均支持自定义分隔符:

  • Excel:在导入向导中手动选择对应分隔符;
  • Python:将代码中的 split(" ") 替换为 split("|")
  • 在线工具:多数转换器可自动检测自定义分隔符。

Q:为何转换后的 CSV 文件出现乱码?

答:这通常是编码格式错误导致的。转换前将 TXT 文件保存为 UTF-8 编码,并确保转换工具也使用 UTF-8 编码。

拓展阅读