Excel合并多行生成Jira批量导入格式的技术求助
解决方案:将Silk测试步骤CSV批量转换为Jira Story/Sub-task格式
针对你需要把Silk导出的测试步骤CSV批量转成Jira可直接使用的Story和Sub-task格式,推荐以下几种高效方案:
方法1:Excel Power Query(无编程基础首选)
Power Query能自动处理空值填充和分组,生成符合要求的Jira格式内容:
- 导入CSV到Power Query:打开Excel,点击「数据」>「自文本/CSV」,选择你的Silk导出文件,加载到Power Query编辑器。
- 填充空值:选中
Parent (story)列,点击「转换」>「填充」>「向下」;对Test Name (sub-task)列执行同样操作,确保每一行都有对应的Story和Sub-task名称。 - 分组数据:点击「转换」>「分组依据」,设置:
- 分组依据:添加两个分组列
Parent (story)和Test Name (sub-task) - 新列名:
StepsTable - 操作:选择「所有行」
- 分组依据:添加两个分组列
- 生成Jira步骤表格:点击「添加列」>「自定义列」,输入以下公式:
这个新列就是Sub-task的描述内容,格式完全符合Jira的Markdown表格要求。"# Test Steps | Step Name | Action | Result | | --- | --- | --- | " & Text.Combine(List.Transform([StepsTable], (row) => "| " & row[Step Name] & " | " & row[Action] & " | " & row[Result] & " |"), "#(lf)") - 导出结果:删除
StepsTable列,保留Parent (story)(Story摘要)、Test Name (sub-task)(Sub-task摘要)和自定义描述列,点击「关闭并上载」,得到的表格内容可直接复制到Jira创建对应项。
方法2:Python脚本(批量处理高效)
如果有基础编程能力,用Python+pandas可以快速处理大量数据:
import pandas as pd # 读取Silk导出的CSV文件 df = pd.read_csv("silk_test_steps.csv") # 填充空的Parent和Test Name列 df["Parent (story)"] = df["Parent (story)"].ffill() df["Test Name (sub-task)"] = df["Test Name (sub-task)"].ffill() # 定义函数生成Jira格式的步骤表格 def build_jira_step_table(group): # 表格头部 header = "| Step Name | Action | Result |\n| --- | --- | --- |\n" # 生成每一行的表格内容 step_rows = [f"| {row['Step Name']} | {row['Action']} | {row['Result']} |" for _, row in group.iterrows()] return header + "\n".join(step_rows) # 按Parent和Test Name分组,生成每个Sub-task的描述 result_df = df.groupby(["Parent (story)", "Test Name (sub-task)"]).apply(build_jira_step_table).reset_index(name="Sub-task Description") # 将结果保存为新CSV,直接复制到Jira使用 result_df.to_csv("jira_ready_subtasks.csv", index=False)
运行步骤:
- 安装pandas:
pip install pandas - 将Silk导出的CSV重命名为
silk_test_steps.csv,和脚本放在同一目录 - 运行脚本,生成的
jira_ready_subtasks.csv中包含所有Story、对应的Sub-task摘要和格式化后的步骤描述
方法3:Excel数组公式(适合临时小批量处理)
如果坚持用Excel公式,可通过辅助列实现:
- 添加辅助列
GroupID,公式:
填充整列,用于标记每个Sub-task的组ID。=IF(AND([@[Parent (story)]]<>"",[@[Test Name (sub-task)]]<>""),COUNTA($A$2:$A2),"") - 生成步骤表格的公式(Excel 365直接回车,旧版本按Ctrl+Shift+Enter):
注:公式中的="| Step Name | Action | Result |"&CHAR(10)&"| --- | --- | --- |"&CHAR(10)&TEXTJOIN(CHAR(10),TRUE,IF($F$2:$F$8=F2,"| "&[Step Name]&" | "&[Action]&" | "&[Result]&" |",""))$F$2:$F$8要替换为你的GroupID列实际范围。
内容的提问来源于stack exchange,提问作者Adam Hartnett
相关产品推荐
相关产品推荐

