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

如何按指定规则将竖排文本文件转换为CSV文件?

解决单列文本转指定规则CSV的问题

输入文本

08-ipa_group
,evouth.zip
,zipe.zip
,auth-service.zip
18-ws-api_group
,mocks.zip
,auth-service.zip
,a-service.zip

期望输出

08-ipa_group,evouth.zip,zipe.zip,auth-service.zip
18-ws-api_group,mocks.zip,auth-service.zip,a-service.zip

解决方案

方法1:用awk处理(简洁高效)

awk是处理文本的常用工具,一行命令就能完成转换:

awk '/^[^,]/ {if (line != "") print line; line=$0} /^,/ {line=line$0} END {print line}' input.txt > output.csv

逻辑说明:

  • 匹配到不以逗号开头的行时,若已有拼接好的内容则先打印,再将当前行设为新的起始行
  • 匹配到以逗号开头的行时,直接拼接到当前行末尾
  • 处理完所有行后,打印最后一行的拼接结果

方法2:用Python脚本处理

适合习惯用Python的场景,脚本逻辑清晰易调整:

current_line = ""
with open("input.txt", "r") as infile, open("output.csv", "w") as outfile:
    for line in infile:
        line = line.strip()
        if not line:
            continue
        if line.startswith(","):
            current_line += line
        else:
            if current_line:
                outfile.write(current_line + "\n")
            current_line = line
    if current_line:
        outfile.write(current_line + "\n")

运行脚本后,目标CSV文件会直接生成。

方法3:用Shell脚本结合sed处理

纯Shell环境下也能实现:

sed -e ':a' -e '/^,/{N;s/\n//;ba}' input.txt > output.csv

逻辑说明:
sed会循环查找所有以逗号开头的行,将其与前一行合并(移除换行符),最终直接输出符合要求的CSV内容。

内容的提问来源于stack exchange,提问作者Stradia Mil Grau

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 05:00:59