文章目录

  • 如何读取本地Json文件中的数据并进行修改后写回json文件中
  • 如何读取本地json文件中的数据并进行修改后写回到新的json文件中
  • Tips:indent=4的作用


如何读取本地Json文件中的数据并进行修改后写回json文件中

可以使用Python中的json模块来读取和写入JSON文件。下面是一个示例,演示如何读取本地JSON文件中的数据、修改其中的某些字段,然后将修改后的数据写回到JSON文件中:

import json

# 读取本地JSON文件
with open('data.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

# 修改数据
data['name'] = 'Alice'
data['age'] = 25

# 将修改后的数据写回JSON文件
with open('data.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, ensure_ascii=False, indent=4)

# 输出修改后的数据
print(data)

在这个示例中,我们使用open函数打开本地文件data.json,然后使用json.load函数将其中的JSON数据加载为Python对象,并存储在变量data中。然后,我们修改了data对象中的一些字段,并使用json.dump函数将修改后的数据写回到JSON文件中。

请注意,在将数据写回文件时,我们使用了ensure_ascii=False参数来确保支持非ASCII字符,并使用了indent=4参数来使输出的JSON数据格式化得更加可读。

如何读取本地json文件中的数据并进行修改后写回到新的json文件中

和将数据写回原始文件中类似,我们可以使用Python中的json模块来读取和写入JSON文件,并在内存中修改数据。然后,我们可以将修改后的数据写回到新的JSON文件中。

以下是一个示例代码:

import json

# 读取本地JSON文件
with open('data.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

# 修改数据
data['name'] = 'Alice'
data['age'] = 25

# 写入新的JSON文件
with open('new_data.json', 'w', encoding='utf-8') as f:
    json.dump(data, f, ensure_ascii=False, indent=4)

# 输出修改后的数据
print(data)

在这个示例中,我们首先读取本地的JSON文件data.json,并将其中的JSON数据加载为Python对象data。然后,我们修改了data对象中的一些字段。接着,我们使用json.dump函数将修改后的数据写入一个新的JSON文件new_data.json中,并使用参数ensure_ascii=Falseindent=4确保支持非ASCII字符和输出的JSON数据格式化可读性。

请注意,在将数据写入新文件时,如果新文件的目录不存在,会抛出IOError错误。因此,在实际使用时,我们应该先创建目标文件所在的目录(如果不存在),然后再将数据写入文件。

Tips:indent=4的作用

indent=4json.dump()函数的一个可选参数,它指定了JSON数据输出时每个级别的缩进量,使得输出的JSON数据更易于阅读和理解。具体而言,我们可以指定一个整数作为参数,表示每个级别的缩进空格数量,或者使用字符串作为参数,表示每个级别的缩进使用的字符。

例如,以下是一个示例,将数据以缩进4个空格的形式输出:

import json

data = {
    'name': 'Alice',
    'age': 25
}

json_data = json.dumps(data, ensure_ascii=False, indent=4)
print(json_data)

在这个示例中,我们使用json.dumps()函数将Python字典对象转换为一个JSON字符串,并使用indent=4参数指定缩进值。该代码的输出如下所示:

{
    "name": "Alice",
    "age": 25
}

注意,当使用缩进参数时,输出的JSON字符串会比未使用缩进参数时更长,因为额外的空格字符被添加到了其中。但是,这种缩进的方式使得JSON数据更加易于阅读和理解,在调试和开发过程中非常有用。