Python将json文件里的key值批量替换

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2020/11/29 10:47
# @Author  : Qiufen.Chen
# @Email   : 1760812842@qq.com
# @File    : replace_id.py
# @Software: PyCharm

import os
import json

indir = '/home/cqfnenu/PsyDrugKB/datasets/keggdrug/json_data/ddi/'
save_path_1 = '/home/cqfnenu/PsyDrugKB/datasets/keggdrug/json_data/ddi/'
for (root, dirs, files) in os.walk(indir):
    for filename in files:
        with open(os.path.join(root, filename), 'rb') as fp:
            json_data = json.load(fp)

            json_data["drug_id"] = json_data.pop("_id")

            print(filename + ' Done!')

            with open(save_path_1 + filename, "w") as w:
                json.dump(json_data, w, indent=4)

file_path = '/home/cqfnenu/PsyDrugKB/datasets/keggdrug/json_data/drugs.json'
save_path_2 = '/home/cqfnenu/PsyDrugKB/datasets/keggdrug/json_data/'

with open(file_path, 'rb') as fo:
    data = json.load(fo)

    for item in data:
        print(type(item))
        item['ENTRY'] = item.pop('_id')

    with open(save_path_2 + 'drugs.json', "w") as w:
        json.dump(data, w, indent=4)

 

### 回答1: 您可以使用 Pythonjson 模块来读取和修改 json 文件。 首先,您需要导入 json 模块。然后,您可以使用 json.load() 函数来读取 json 文件并将其转换为 Python 字典。您可以使用字典的方法来修改 json 文件的内容。最后,您可以使用 json.dump() 函数将修改后的字典写入到 json 文件中。 举个例子: ``` import json # 打开json文件 with open("file.json", "r") as f: data = json.load(f) # 修改内容 data["key"] = "new_value" # 保存修改 with open("file.json", "w") as f: json.dump(data, f) ``` 如果要批量处理多个文件可以使用for循环来实现 ``` import json import os file_list = os.listdir() for file in file_list: if file.endswith('.json'): with open(file, "r") as f: data = json.load(f) # 修改内容 data["key"] = "new_value" # 保存修改 with open(file, "w") as f: json.dump(data, f) ``` 这样就可以批量打开.json文件进行修改内容了. ### 回答2: 使用Python批量打开并修改.json文件的内容可以利用json库以及os库来完成。具体步骤如下: 1. 首先,导入所需要的库: ```python import json import os ``` 2. 定义一个函数,用于批量处理.json文件的内容修改。函数的参数可以是一个目录路径,表示要处理的所有.json文件所在的文件夹。 ```python def batch_modify_json_files(directory): # 遍历目标文件夹下的所有文件 for file_name in os.listdir(directory): # 确保文件是以.json结尾的 if file_name.endswith(".json"): # 构造完整的文件路径 file_path = os.path.join(directory, file_name) # 打开.json文件 with open(file_path, 'r', encoding='utf-8') as f: # 读取json内容 json_data = json.load(f) # 修改json内容 # ... # 保存修改后的json内容 with open(file_path, 'w', encoding='utf-8') as f: # 重新写入json数据 json.dump(json_data, f, ensure_ascii=False, indent=4) ``` 3. 在定义的函数中,根据需要修改.json文件的内容。可以使用字典的方式来修改json_data的内容。 ```python json_data["key"] = "value" ``` 4. 最后,调用定义的函数并传入目标文件夹的路径进行批量修改.json文件的内容。例如,假设所有要修改的.json文件都在当前目录下的data文件夹中,可以如下调用: ```python batch_modify_json_files("./data") ``` 以上是使用Python批量打开并修改.json文件的内容的简单示例。请根据实际需求和数据结构对代码进行适当的修改和完善。 ### 回答3: 可以使用Pythonjson库来实现批量打开和修改.json文件的内容。 首先,我们需要导入json模块和os模块: ```python import json import os ``` 然后,我们可以使用os模块的listdir函数来获取指定文件夹中所有的.json文件: ```python json_files = [file for file in os.listdir('文件夹路径') if file.endswith('.json')] ``` 接下来,我们可以使用for循环来遍历每个.json文件,打开并修改内容: ```python for file in json_files: with open('文件夹路径/' + file, 'r+') as f: data = json.load(f) # 读取json文件的内容 # 对data进行修改操作 # ... f.seek(0) # 将文件指针移到文件开头 json.dump(data, f, indent=4) # 写回修改后的内容 f.truncate() # 清空文件剩余部分 ``` 在以上代码中,我们先使用json模块的load函数读取json文件的内容,将其存储到变量data中。然后,对data进行所需要的修改操作。最后,我们使用json模块的dump函数将修改后的内容写回文件中,并使用truncate函数清空文件剩余部分。 最后,我们就可以通过以上代码来实现批量打开和修改.json文件的内容。注意,要将'文件夹路径'替换为你要操作的实际文件夹的路径。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值