文章目录
- 如何读取本地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=False
和indent=4
确保支持非ASCII字符和输出的JSON数据格式化可读性。
请注意,在将数据写入新文件时,如果新文件的目录不存在,会抛出IOError错误。因此,在实际使用时,我们应该先创建目标文件所在的目录(如果不存在),然后再将数据写入文件。
Tips:indent=4的作用
indent=4
是json.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数据更加易于阅读和理解,在调试和开发过程中非常有用。