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

如何在Robot Framework中创建CSV文件并实现动态值追加功能

Robot Framework 生成并追加CSV文件实现方案

方案1:使用CSVLibrary实现(推荐,自动处理格式转义)

这是最便捷的实现方式,CSVLibrary会自动处理字段含逗号、引号等特殊字符的场景,避免CSV格式错乱。

  • 第一步:先安装依赖库
    pip install robotframework-csvlibrary
  • 第二步:编写测试用例代码
*** Settings ***
Library    CSVLibrary
Library    Collections
# 下方Faker库用于生成动态测试数据,无需动态生成可删除
Library    Faker

*** Test Cases ***
创建并操作CSV文件
    # 定义表头与初始数据
    ${header}    Create List    Header1    Header2    Header3
    ${init_row1}    Create List    Value1    Value2    Value3
    ${init_row2}    Create List    Value11    Value22    Value33
    ${init_rows}    Create List    ${init_row1}    ${init_row2}

    # 首次创建CSV文件并写入表头、初始数据
    Append List To Csv File    ./test.csv    ${header}    overwrite=${True}
    Append Rows To Csv File    ./test.csv    ${init_rows}

    # 动态生成5行数据并追加
    FOR    ${index}    IN RANGE    5
        # 动态值可根据业务需求自定义,示例用Faker生成随机值,也可直接写自增逻辑如${col1}    Set Variable    NewValue${index}
        ${col1}    Faker.Generate    word
        ${col2}    Faker.Generate    random_int    min=1    max=999
        ${col3}    Faker.Generate    date_this_month
        ${new_row}    Create List    ${col1}    ${col2}    ${col3}
        Append List To Csv File    ./test.csv    ${new_row}
    END

方案2:仅用内置库实现(无需安装第三方依赖)

适合轻量场景,无需额外安装库,注意如果字段包含特殊字符需要手动转义:

*** Settings ***
Library    OperatingSystem
Library    String

*** Test Cases ***
原生库实现CSV操作
    ${csv_path}    Set Variable    ./test_native.csv
    # 写入表头和初始数据
    ${header_line}    Catenate    SEPARATOR=,    Header1    Header2    Header3
    ${row1_line}    Catenate    SEPARATOR=,    Value1    Value2    Value3
    ${row2_line}    Catenate    SEPARATOR=,    Value11    Value22    Value33
    ${init_content}    Catenate    SEPARATOR=\n    ${header_line}    ${row1_line}    ${row2_line}
    Create File    ${csv_path}    ${init_content}\n    encoding=utf-8

    # 动态生成数据追加示例
    FOR    ${index}    IN RANGE    5
        ${col1}    Set Variable    DynamicVal${index}
        ${col2}    Evaluate    ${index} * 10
        ${col3}    Get Current Date    result_format=%Y-%m-%d
        ${new_line}    Catenate    SEPARATOR=,    ${col1}    ${col2}    ${col3}
        Append To File    ${csv_path}    ${new_line}\n    encoding=utf-8
    END

注意:如果你的字段内容本身包含逗号、双引号,方案2需要手动给字段加双引号包裹并转义内容里的双引号,这种场景优先用方案1。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:24:01