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

请求将特定格式的文本文件转换为CSV文件

把特定格式的文本转成CSV?看这两种方案就行

我完全懂你要处理的文本结构——每条记录就是「列1内容 → 一行全是=====的分隔线 → 多行的列2内容 → 三个空行收尾」,要把这玩意儿转成规整的CSV,每一行对应一条记录,列1和列2各占一列对吧?

下面给你两种实用的方案,不管会不会写代码都能搞定:

方案一:Python脚本(推荐,适合批量处理)

这是最省心的方式,尤其是文件里记录多的时候,跑个脚本几分钟就搞定。直接复制下面的代码,改好输入输出文件路径就行:

import csv

# 这里改成你的输入文本文件路径
input_file = "your_input.txt"
# 这里改成你要输出的CSV文件路径
output_file = "converted_output.csv"

# 读取文件内容,按三个空行拆分每条记录
with open(input_file, 'r', encoding='utf-8') as f:
    content = f.read()
# 拆分记录,同时过滤掉可能的空记录
records = [r for r in content.split('\n\n\n') if r.strip()]

# 写入CSV文件
with open(output_file, 'w', newline='', encoding='utf-8') as csvfile:
    # 用QUOTE_ALL确保多行文本、含逗号的内容能被正确识别
    writer = csv.writer(csvfile, quoting=csv.QUOTE_ALL)
    # 先写表头
    writer.writerow(['列1', '列2'])
    
    for record in records:
        # 按分隔线拆分列1和列2
        parts = record.split('\n=========================\n')
        if len(parts) != 2:
            print(f"跳过格式有问题的记录:{record[:50]}...")
            continue
        col1 = parts[0].strip()
        # 如果你想保留列2里的换行,就删掉下面的replace部分
        col2 = parts[1].strip().replace('\n', ' ')
        writer.writerow([col1, col2])

print(f"搞定!转换后的CSV已经存到 {output_file} 里了")

代码里的小细节:

  • 用csv.QUOTE_ALL是为了避免列2里的逗号、换行把CSV格式搞乱,所有单元格都会被双引号包裹,Excel或者其他CSV阅读器都能正确解析
  • 如果你想保留列2里的换行(比如原文本里的多行内容想在CSV里也显示成换行),直接删掉col2那行的.replace('\n', ' ')就行,双引号会帮你处理好换行
  • 如果你的文本是Windows系统下的(换行是\r\n),把拆分记录的'\n\n\n'改成'\r\n\r\n\r\n'就行

方案二:手动替换(适合少量记录)

要是你不想写代码,用普通的文本编辑器(比如Notepad++、VS Code)就能搞定:

  • 先打开你的文本文件,把三个空行替换成一个特殊标记,比如|RECORD_END|(确保这个标记不在你的文本内容里)
  • 把所有的分隔线=========================替换成逗号,
  • (可选)把列2里的换行替换成空格,或者如果你想保留换行,就把每一条记录的列2部分用双引号包裹
  • 最后把|RECORD_END|替换成换行,再手动加上表头列1,列2,然后把文件保存成.csv格式就行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:45:03