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

如何用Robot Framework为CSV文件指定列追加数据?

解决方案

方法一:使用awk命令

假设CSV文件名为data.csv,将indexcol3替换为实际的列索引(从0开始计数),执行以下命令:

awk -v col=你的索引值 'BEGIN{FS=OFS=";"} NR==1{print; next} getline val < "file.txt" { $col=val; print }' data.csv > new_data.csv

比如如果col3的索引是2,命令就是:

awk -v col=2 'BEGIN{FS=OFS=";"} NR==1{print; next} getline val < "file.txt" { $col=val; print }' data.csv > new_data.csv

说明:

  • FS=OFS=";":设置输入和输出的分隔符均为分号
  • NR==1{print; next}:表头行直接输出,跳过后续处理
  • getline val < "file.txt":从file.txt中读取一行值存入变量val
  • $col=val; print:将指定列的内容替换为val,然后输出整行
  • 最终结果写入new_data.csv,避免覆盖原文件

方法二:使用Python脚本

如果需要处理更复杂的CSV场景,用Python的csv模块更稳妥:

创建fill_col3.py脚本:

import csv

# 替换为col3的实际索引(从0开始)
target_col = 2

# 读取file.txt中的值,去除每行首尾空白
with open('file.txt', 'r', encoding='utf-8') as f:
    fill_values = [line.strip() for line in f]

# 处理CSV文件
with open('data.csv', 'r', encoding='utf-8') as in_csv, \
     open('filled_data.csv', 'w', encoding='utf-8', newline='') as out_csv:
    csv_reader = csv.reader(in_csv, delimiter=';')
    csv_writer = csv.writer(out_csv, delimiter=';')
    
    # 写入表头
    csv_writer.writerow(next(csv_reader))
    
    # 逐行填充目标列
    for row, value in zip(csv_reader, fill_values):
        row[target_col] = value
        csv_writer.writerow(row)

运行脚本:

python fill_col3.py

执行后,filled_data.csv就是填充完成的文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 10:40:25