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

如何用Python从CSV向JSON指定键追加数据并保留原有结构

实现方案

你可以直接使用以下代码,仅需传入CSV文件路径和目标JSON文件路径即可自动完成数据批量写入,无需手动构造单条数据:

完整实现代码

import json
import csv

def batch_append_from_csv(csv_path, json_path='keyvalue.json', keep_original_docs=True):
    # 读取原有JSON文件,保留完整结构
    with open(json_path, 'r', encoding='utf-8') as f:
        json_data = json.load(f)
    
    doc_list = json_data["inputDocuments"]["gcsDocuments"]["documents"]
    # 不需要保留原有测试数据时可直接清空列表
    if not keep_original_docs:
        doc_list.clear()
    
    # 读取CSV文件批量构造符合要求的条目
    with open(csv_path, 'r', encoding='utf-8') as f:
        csv_reader = csv.DictReader(f)
        for row in csv_reader:
            new_item = {
                "gcsUri": row["gcsUri"],
                "mimeType": "application/pdf"
            }
            doc_list.append(new_item)
    
    # 数据写回JSON文件
    with open(json_path, 'w', encoding='utf-8') as f:
        json.dump(json_data, f, indent=4, ensure_ascii=False)

# 调用示例,只需替换为你的CSV实际路径即可
batch_append_from_csv(csv_path='你的CSV文件路径.csv', keep_original_docs=False)

参数说明

  • csv_path:存储gcsUri数据的CSV文件路径,确保CSV首行列名为gcsUri
  • json_path:待修改的JSON模板文件路径,默认值为keyvalue.json
  • keep_original_docs:是否保留JSON文件中原有documents列表的内容,设置为False会先清空原有测试数据再写入CSV中的新数据,和你给出的预期输出效果一致

如果你的CSV文件列名不是gcsUri,只需修改代码中row["gcsUri"]的键名和你CSV的实际列名一致即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:06:01