QoderWake可通过Python脚本(pandas)、CLI链式命令(jq+csvkit)或数字流程专员三种方式自动将零散输出整理为结构化数据表:Python方式适合平台内自动化清洗并导出带格式Excel;CLI方式适用于服务器终端快速处理;飞书归档则实现结果直同步至多维表格。
你需要让QoderWake在执行完自动化任务后,自动把零散的原始输出整理成结构清晰、字段对齐、可直接用于汇报或分析的数据表,而不是手动打开日志、复制粘贴、再Excel里反复清洗。
这是最常用也最可控的方式,适合处理JSON Lines日志、CSV片段、API返回数组等非结构化或半结构化输出。
1、进入【自动化】→【AI定时任务】,点击“新建任务”,类型选“Python AI脚本”,名称设为“周报数据清洗与归档”。
2、确保平台依赖管理中已启用pandas、numpy和openpyxl——若未安装,任务运行时会直接报错退出,【必须提前确认】。
3、在脚本区粘贴以下代码(以清洗runtime.log中提取的task_completed事件为例):
import pandas as pd
import json
from pathlib import Path
# 读取原始JSON Lines日志
with open("/input/runtime.log", "r") as f:
records = [json.loads(line) for line in f if line.strip()]
# 筛选并结构化
df = pd.DataFrame([
{
"timestamp": r["timestamp"],
"agent_id": r["agent_id"],
"duration_sec": r.get("duration_ms", 0) / 1000,
"output_summary": r.get("output_summary", "")[:200],
"status": r.get("status", "unknown")
} for r in records if r.get("event_type") == "task_completed"
])
# 去重+按时间倒序+重置索引
df = df.drop_duplicates(subset=["agent_id", "timestamp"]).sort_values("timestamp", ascending=False).reset_index(drop=True)
# 导出为带格式的Excel
with pd.ExcelWriter("/output/cleaned_tasks_{{now|strftime:%Y%m%d_%H%M}}.xlsx", engine="openpyxl") as writer:
df.to_excel(writer, index=False, sheet_name="Summary")
# 自动调整列宽(需openpyxl支持)
ws = writer.sheets["Summary"]
for column in ws.columns:
max_length = max(len(str(cell.value)) for cell in column)
adjusted_width = min(max_length + 2, 50)
ws.column_dimensions[column[0].column_letter].width = adjusted_width
适用于你已在服务器上部署QoderWake Agent,且习惯用终端快速处理、不依赖平台UI的运维人员。
方法一:用qoderwake task export生成带签名ZIP,再解压提取CSV
1、执行qoderwake task export --task-id TK-20260728-1104 --format=zip --include=output_artifacts,得到压缩包路径。
2、解压后进入output/子目录,找到main_output.csv或data.json;若只有JSON,用csvkit的in2csv转:in2csv data.json > cleaned.csv。
方法二:直读runtime.log,用jq过滤+sed清洗后导入数据库
jq -r 'select(.event_type=="output_generated") | [.timestamp, .agent_id, .output_summary] | @csv' /var/log/qoderwake/agents/dp-9a1c4e5f/runtime.log | sed 's/"//g' > /tmp/task_output.csv
这一步操作起来很简单,直接把文件拖进去就行。但注意:sed 's/"//g' 是为兼容某些数据库导入工具对双引号的解析异常,【不加这句可能导致首尾字段被误判为字符串包裹】。
如果你的团队日常使用飞书协作,且希望每次任务跑完,结果自动同步到指定表格,无需下载再上传。
第一步:在飞书多维表格中新建一张表,字段名设为:执行时间、数字员工ID、耗时(秒)、摘要、状态。
第二步:回到QoderWake控制台,进入“数字员工”→“数字流程专员”→“新建流程”,选择模板“数据归档至飞书”。
第三步:在“目标表格”配置项中,粘贴飞书多维表格的分享链接,系统自动拉取字段映射关系;将脚本输出中的timestamp映射到“执行时间”,duration_sec映射到“耗时(秒)”,以此类推。
第四步:启用“失败自动重试(最多2次)”和“字段空值跳过写入”,避免单条脏数据阻塞整批归档。