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

如何提取CSV中元组内数值并拆分为多行多列?

解决建议

方法一:Python脚本(灵活通用)

适合批量或复杂场景,直接用脚本自动化处理:

import csv
import re

# 匹配元组的正则规则
tuple_pattern = re.compile(r'\((\d+), (\d+), (\d+)\)')

with open('input.csv', 'r', newline='') as in_file, open('output.csv', 'w', newline='') as out_file:
    csv_reader = csv.reader(in_file)
    csv_writer = csv.writer(out_file)
    
    # 写入目标表头
    csv_writer.writerow(['Column A', 'Column B', 'Column C'])
    # 跳过原文件的表头行
    next(csv_reader)
    
    for line in csv_reader:
        # 提取当前单元格里的所有元组
        all_tuples = tuple_pattern.findall(line[0])
        # 逐个元组写入新文件
        for tpl in all_tuples:
            csv_writer.writerow(tpl)

使用步骤:

  1. 将原CSV保存为input.csv
  2. 运行脚本后,会生成符合要求的output.csv

方法二:Excel/Google Sheets手动处理

适合少量数据快速调整:

  1. 打开原CSV,选中包含元组的列
  2. 查找替换:把)(替换为换行符(Excel按Ctrl+Enter输入换行,Google Sheets按Ctrl+Enter),让每个元组单独占一行
  3. 数据分列:选中处理后的列,用「数据分列」功能,以(、)、, 作为分隔符,将每个元组拆成三列
  4. 清理空单元格,调整成目标表格格式

方法三:命令行工具(awk)

适合熟悉终端操作的用户,直接执行命令:

awk -F'[() ]+' 'NR>1{for(i=2;i<=NF;i+=4)print $(i)","$(i+1)","$(i+2)}' input.csv > output.csv

说明:

  • NR>1跳过原文件表头
  • 用(、)、空格作为分隔符,提取每个元组的三个元素并输出为CSV格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:12:47