您的位置:

Python写入Json文件详解

一、Python写入Json文件换行

Json文件以文本方式存储,如果想让Json文件中的数据换行,可以在写入Json文件时添加indent参数指定缩进大小。

示例代码:


import json

data = {
    "name": "Tom",
    "age": 18,
    "hobbies": [
        "coding",
        "reading",
        "traveling"
    ]
}

with open("data.json", "w", encoding="utf-8") as f:
    f.write(json.dumps(data, indent=4))

二、Python创建Json文件并写入

如果要将数据写入Json文件,需要先创建Json文件。Python提供了open()函数来创建文件。

示例代码:


import json

data = {
    "name": "Tom",
    "age": 18,
    "hobbies": [
        "coding",
        "reading",
        "traveling"
    ]
}

with open("data.json", "w", encoding="utf-8") as f:
    json.dump(data, f, indent=4)

三、Python写入Json文件乱码

在写入Json文件时,可能会遇到乱码问题。一般情况下,这是由于编码问题引起的。

可以在open()函数中指定文件编码,或者使用codecs模块打开Json文件。

示例代码:


import json
import codecs

data = {
    "name": "Tom",
    "age": 18,
    "hobbies": [
        "coding",
        "reading",
        "traveling"
    ]
}

with codecs.open("data.json", "w", "utf-8") as f:
    json.dump(data, f, indent=4, ensure_ascii=False)

四、Python写入Json文件编码问题

Json文件默认使用Unicode编码。如果需要使用其他编码,可以在json.dumps()函数中指定编码。

示例代码:


import json

data = {
    "name": "Tom",
    "age": 18,
    "hobbies": [
        "coding",
        "reading",
        "traveling"
    ]
}

with open("data.json", "w", encoding="gbk") as f:
    f.write(json.dumps(data, indent=4, ensure_ascii=False).encode("gbk").decode("gbk"))

五、Python写入Json文件不识别中文

在写入Json文件时,如果Json文件不识别中文,可以使用ensure_ascii=False参数。

示例代码:


import json

data = {
    "name": "Tom",
    "age": 18,
    "hobbies": [
        "编程",
        "阅读",
        "旅游"
    ]
}

with open("data.json", "w", encoding="utf-8") as f:
    f.write(json.dumps(data, indent=4, ensure_ascii=False))

六、Python读Json文件

Python可以使用json.load()函数从Json文件中读取数据。

示例代码:


import json

with open("data.json", "r", encoding="utf-8") as f:
    data = json.load(f)
    print(data)

七、Python写入Json文件怎么换行

在写入Json文件时,可以在json.dump()函数中指定indent参数的大小。

示例代码:


import json

data = {
    "name": "Tom",
    "age": 18,
    "hobbies": [
        "coding",
        "reading",
        "traveling"
    ]
}

with open("data.json", "w", encoding="utf-8") as f:
    json.dump(data, f, indent=4)

八、Python写入Json文件带缩进

在写入Json文件时,可以在json.dump()函数中指定indent参数的大小,实现带缩进的效果。

示例代码:


import json

data = {
    "name": "Tom",
    "age": 18,
    "hobbies": [
        "coding",
        "reading",
        "traveling"
    ]
}

with open("data.json", "w", encoding="utf-8") as f:
    json.dump(data, f, indent=4)

九、Python写入Txt文件

除了写入Json文件,Python也可以写入Txt文件。

示例代码:


data = "Hello, world!"

with open("data.txt", "w", encoding="utf-8") as f:
    f.write(data)