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

如何使用AWK脚本从CSV的Description字段提取指定数值并格式化输出?

解决方案

方法1:Python 脚本

适合有编程基础的场景,处理灵活,能应对格式变化:

import csv
import re

# 正则匹配Description里的订单号和总价值
pattern = r'Your orders are (\d+) and total value is (\d+)'

with open('your_file.csv', 'r', newline='', encoding='utf-8') as infile:
    # 按表头读取CSV
    reader = csv.DictReader(infile)
    for row in reader:
        match = re.search(pattern, row['Description'])
        if match:
            orders_num = match.group(1)
            total_val = match.group(2)
            print(f"Orders: {orders_num}, Total Value: {total_val}")

方法2:AWK 命令

适合Linux/macOS终端直接处理,无需编写复杂脚本:

BEGIN {
    FS = ", "  # 设置CSV字段分隔符
    skip_header = 1  # 标记跳过表头
}
!skip_header {
    # 拆分第4列(Description)的内容
    split($4, desc_parts, /[ ]/)
    orders = desc_parts[4]
    total = desc_parts[8]
    print "Orders:", orders, "Total Value:", total
}
{ skip_header = 0 }  # 第一行后取消表头跳过标记

运行方式:将代码保存为extract.awk,执行命令 awk -f extract.awk your_file.csv

方法3:Excel/Google Sheets 公式

适合办公场景,直接在表格内处理:
假设Description列是D列,从D2开始,在E2单元格输入以下公式,下拉填充即可:

=CONCATENATE("Orders: ", MID(D2, FIND("are ", D2)+4, FIND(" and", D2)-FIND("are ", D2)-4), ", Total Value: ", MID(D2, FIND("is ", D2)+3, LEN(D2)-FIND("is ", D2)-2))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 15:45:13