You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python实现TXT转CSV:新手求助数据提取方案

把TXT转CSV的Python实现步骤

全程用Python内置工具,不用额外装库,新手也能轻松搞定:

1. 先明确TXT文件结构

从你提供的示例来看,TXT里每行都是「标签: 内容」的格式(比如Case code: 239),不同案例之间用空行分隔。我们要把所有标签提取出来当CSV的表头,每个案例的内容对应成CSV的一行数据。

2. 直接用这段代码实现

每一步都加了注释,照着改路径就行:

import csv

# 替换成你的文件路径
txt_file = "你的输入文件.txt"
csv_file = "输出结果.csv"

cases = []  # 存所有案例的数据
current_case = {}  # 临时存当前正在处理的案例

# 读取并解析TXT
with open(txt_file, 'r', encoding='utf-8') as f:
    for line in f:
        line = line.strip()  # 去掉每行前后的空格、换行符
        if not line:  # 遇到空行,说明当前案例结束
            if current_case:
                cases.append(current_case)
                current_case = {}
            continue
        
        # 按第一个冒号分割标签和内容(避免内容里有冒号的情况)
        if ': ' in line:
            label, value = line.split(': ', 1)
            current_case[label.strip()] = value.strip()
    # 处理文件末尾的最后一个案例(可能没有空行收尾)
    if current_case:
        cases.append(current_case)

# 提取所有表头(包含所有出现过的标签)
all_headers = []
for case in cases:
    for key in case.keys():
        if key not in all_headers:
            all_headers.append(key)

# 写入CSV文件
with open(csv_file, 'w', newline='', encoding='utf-8') as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=all_headers)
    writer.writeheader()  # 写入表头
    writer.writerows(cases)  # 写入所有案例数据

print(f"转换完成!CSV文件已保存到 {csv_file}")

3. 特殊情况调整

  • 如果案例不是用空行分隔,而是特定符号(比如---),把if not line:改成if line.startswith('---')就行。
  • 要是读取TXT时乱码,把encoding='utf-8'换成encoding='gbk'或者encoding='utf-8-sig'试试。
  • 部分案例缺少某个标签的话,CSV对应的单元格会自动留空,符合表格要求。

4. 验证结果

运行代码后打开生成的CSV,就能看到表头是所有提取的标签,每行对应一个案例的完整数据,和你要的目标效果一致。

内容的提问来源于stack exchange,提问作者Rac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 13:55:19