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

如何根据CSV第3列元素数量重复第1、2列生成目标文件?

没问题,我来帮你搞定这个CSV拆分转换的需求!下面给你两种可行的解决方案,一个用Python脚本(灵活易扩展),一个用awk命令(适合快速批量处理)。

思路说明

核心逻辑很简单:

  1. 读取CSV的每一行,提取前两列的内容;
  2. 从第三列及后续字段里,把所有带(...)格式的元素提取出来;
  3. 把前两列内容分别和每个提取到的元素组合,输出成新的行(你示例里的加粗只是标记,代码里可以按需添加)。

方案一:Python脚本

这种方式适合需要后续调整逻辑的场景,代码可读性强:

import re

# 替换成你的输入/输出文件路径
input_file = "input.csv"
output_file = "output.txt"

with open(input_file, 'r') as infile, open(output_file, 'w') as outfile:
    for line in infile:
        line = line.strip()
        if not line:
            continue
        
        # 只拆分前两个逗号,避免第三列里的逗号干扰
        parts = line.split(',', 2)
        col1 = parts[0].strip()
        col2 = parts[1].strip()
        rest_content = parts[2].strip() if len(parts) > 2 else ""
        
        # 用正则提取所有带(...)的元素
        target_elements = re.findall(r'\S+\([^)]+\)', rest_content)
        
        # 生成每行结果
        for elem in target_elements:
            # 如果你需要给特定元素加粗(比如示例里的最后一个),可以加判断
            if elem == "39852:38000-90000/2(433-648)":
                outfile.write(f"**{col1} {col2} {elem}**\n")
            else:
                outfile.write(f"{col1} {col2} {elem}\n")

运行方式

把代码保存为process_csv.py,然后在终端执行:

python process_csv.py

方案二:Awk命令行工具

如果你习惯用命令行处理文本,这个方式更快捷:

BEGIN { FS="," }
{
    col1 = $1; col2 = $2;
    # 合并第三列及之后的所有内容
    rest = "";
    for (i=3; i<=NF; i++) rest = rest " " $i;
    
    # 按空格拆分内容,筛选带(...)的元素
    split(rest, elems, " ");
    for (j in elems) {
        elem = elems[j];
        if (elem ~ /\([^)]+\)/) {
            # 同样可以加判断实现特定元素加粗
            if (elem == "39852:38000-90000/2(433-648)") {
                print "**" col1 " " col2 " " elem "**";
            } else {
                print col1 " " col2 " " elem;
            }
        }
    }
}

运行方式

把代码保存为process_csv.awk,然后执行:

awk -f process_csv.awk input.csv > output.txt

这两种方法都能完美生成你想要的输出格式,你可以根据自己的使用场景选择。如果有其他调整需求,比如修改分隔符、处理特殊字符,随时调整代码逻辑就行~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 10:09:50