Table des matières
Introduction aux données au format JSON
使用Python读写JSON格式数据
1.读取json文件
2.写入json文件
1. Lire le fichier json
2. Écrivez le fichier json
Maison développement back-end Tutoriel Python Comment lire et écrire des données au format JSON en Python

Comment lire et écrire des données au format JSON en Python

Apr 24, 2023 am 08:52 AM
python json

    Introduction aux données au format JSON

    Le nom complet de JSON est "JavaScript Object Notation", traduit par "JavaScript Object Notation" ou "JavaScript Object Notation". Format d’échange de données textuel et ouvert. JSON joue un rôle essentiel dans le domaine du développement Web Si vous souhaitez montrer vos talents dans le domaine du développement Web, vous devez comprendre JSON. En termes simples, Json est un format de texte couramment utilisé pour le stockage de données. JSON 全称“JavaScript Object Notation”,译为“JavaScript 对象简谱”或“JavaScript 对象表示法”,是一种轻量级的、基于文本的、开放的数据交换格式。JSON 在 Web 开发领域有着举足轻重的地位,如果您想在 Web 开发领域大展身手的话,就必须了解 JSON。通俗点来说Json是一种文本格式,常用于数据存储。

    基本结构为键: 值,键仅可以为字符串,而值可以是字符串,列表,数字,或者另一些键值对

    下面这段数据很好的展示了不同形式的Json结构:

    {
        "max": 1,
        "1": {
            "user": 825882638,
            "type": "image"
            "title": "超人"
        },
        "a": [
            "芝麻开门",
            {
                "a": 2
            },
            "b"
        ],
        "c": {
            "d": 888
            "g": 888
        }
    }

    注意:所有Json文本最外层都必须有{}

    使用Python读写JSON格式数据

    接下来我们就以上面这个Json文本为样板讲解一下Json文件的解析。

    在Python当中,如果我们要解析Json文件,就必须先导入Python安装时自带的json库,即import json,之后才可以进行json操作。

    1.读取json文件

    下面的代码告诉了我们如何读入一个json文件

    with open("./new.json", "r", encoding="utf-8") as f:
        content = json.load(f)

    json.load是直接从文件读取json文本,而json.loads是读取进行了json编码的文本而非本地文件。

    上述代码即从当前目录下的"new.json"文件当中读入json数据,随后json.load方法会将读入的json文本转换成Python当中的字典存入content变量当中。而在Python中操作JSON格式数据实际上就是操作字典、列表所组成的组合数据类型。

    例如我们现在想要在上面的json文本当中提取最下面的"d"的值(代码中1号位置),可以这么操作val=content[“c”][“d”],这样就可以取到d的值,也就是333了。除此之外上例我们还可以看到[]包裹的列表,如果我们想取到其中的"a"(代码中2号位置)的值,应该这么写:val=content[“a”][1][“a”],此时val的值为2

    2.写入json文件

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

    上述代码用于向json文件当中写入data数据,其中dump方法拥有很多参数,这里只讲上面代码中的三个,其他的请自行查阅。

    obj:即上述第一个参数,用于传入需要写入Json文件当中的数据。

    fp:即上述第二个参数,用于传入需要写入Json数据的文本指针

    indent:传入Json文件换行缩进量,一般为2或者4。

    ensure_ascii:是否允许Ascii码。若为True

    La structure de base est key: value, la clé ne peut être qu'une string et la valeur peut être une chaîne, une liste, un nombre ou une autre key- paire de valeurs .

    Les données suivantes montrent très bien les différentes formes de structure Json :

    import json, os
    
    class JsonUtils():
        relative_url = "./data/"
        abstract_url = "file:///home/ubuntu/qqbot/data/rpg/"
    
        @staticmethod
        def __preBuildFile(file: str, *default: Union[str, dict]) -> bool:
            """
            判断文件及路径是否存在,若不存在则创建并生成对应文件内容
    
            :param file: 文件路径
            :param default: 默认文件内容
            :return:
            """
            if (not os.path.exists(file)):
                path = os.path.split(file)
                if (not os.path.exists(path[0])):
                    os.mkdir(path[0])
                with open(file, "w", encoding=utf-8") as f:
                    if (default):
                        arg = default[0]
                        if (isinstance(arg, str)):
                            f.write(arg)
                        elif (isinstance(arg, dict)):
                            try:
                                js = json.dumps(arg, indent=4, ensure_ascii=False)
                                f.write(js)
                            except json.JSONEncoder:
                                return False
                        else:
                            f.write(str(arg))
                    else:
                        f.write("")
            return True
                          
        @classmethod
        async def read(cls, filename: str, *default) -> Tuple[dict, bool]:
            """
            读取指定json文件
    
            :param filename: 文件路径
            :param default: 若无此文件,创建该文件时写入的内容
            :return: [读取到的内容, 是否为新创建的文件]
            """
            file_url = cls.relative_url + filename
            if (default):
                res = JsonUtils.__preBuildFile(file_url, default[0])
            else:
                res = JsonUtils.__preBuildFile(file_url)
            with open(file_url, "r", encoding="utf-8") as f:
                content = json.load(f)
            return (content, res)
    
        @classmethod
        async def write(cls, filename: str, data: dict) -> None:
            """
            写入Json数据
            
            :param filename: 文件路径
            :param data: 写入的数据
            :return: 
            """
            file_url = cls.relative_url + filename
            JsonUtils.__preBuildFile(file_url)
            with open(file_url, "w", encoding="utf-8") as f:
                content = json.dumps(data, indent=4, ensure_ascii=False)
                f.write(content)
    Remarque : tous les textes Json doivent avoir {} dans la couche la plus externe🎜🎜Utilisez Python pour lire et écrire des données au format JSON🎜 🎜Ensuite, nous utiliserons le texte Json ci-dessus comme modèle pour expliquer l'analyse des fichiers Json. 🎜🎜En Python, si nous voulons analyser les fichiers Json, nous devons d'abord importer la bibliothèque json fournie avec l'installation de Python, c'est-à-dire importer json, puis nous pouvons effectuer des opérations json. 🎜

    1. Lire le fichier json

    🎜Le code suivant nous indique comment lire un fichier json🎜rrreee
    🎜json.load lit le texte json directement à partir du fichier, tandis que json.loads est Lire json- texte codé au lieu d'un fichier local. 🎜
    🎜Le code ci-dessus lit les données json du fichier "new.json" dans le répertoire actuel, puis la méthode json.load convertira le texte json lu en Python. Le dictionnaire est stocké dans la variable de contenu. L'exploitation de données au format JSON dans Python fonctionne en fait sur des types de données combinés composés de dictionnaires et de listes. 🎜🎜Par exemple, si nous voulons maintenant extraire la valeur du "d" inférieur (position 1 dans le code) du texte json ci-dessus, nous pouvons opérer val=content["c"]["d"] comme ceci . La valeur de d est obtenue, qui est 333. En plus de l'exemple ci-dessus, nous pouvons également voir la liste des packages []. Si nous voulons obtenir la valeur de "a" (position 2 dans le code), nous devons écrire comme ceci : val=content["a" ][ 1]["a"], à ce moment la valeur de val est 2. 🎜

    2. Écrivez le fichier json

    rrreee🎜Le code ci-dessus est utilisé pour écrire des données data dans le fichier json, dans lequel la méthode dump en contient plusieurs. Paramètres Ici, nous ne parlons que de trois des codes ci-dessus, veuillez vérifier les autres par vous-même. 🎜🎜obj : Le premier paramètre ci-dessus est utilisé pour transmettre les données qui doivent être écrites dans le fichier Json. 🎜🎜fp : Le deuxième paramètre mentionné ci-dessus est utilisé pour transmettre le pointeur de texte qui doit être écrit dans les données Json 🎜🎜indent : Transmettre le montant de l'indentation de nouvelle ligne. du fichier Json Généralement 2 ou 4. 🎜🎜ensure_ascii : s'il faut autoriser le code Ascii. S'il est True (par défaut), tous les caractères chinois saisis seront convertis en uXXXX et stockés. 🎜🎜Écrivez un JsonUtils par vous-même🎜🎜Le code vient d'un grand gars sur github. Les commentaires du code donnent des instructions détaillées sur la façon de l'utiliser ! 🎜rrreee

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

    Outils d'IA chauds

    Undress AI Tool

    Undress AI Tool

    Images de déshabillage gratuites

    Undresser.AI Undress

    Undresser.AI Undress

    Application basée sur l'IA pour créer des photos de nu réalistes

    AI Clothes Remover

    AI Clothes Remover

    Outil d'IA en ligne pour supprimer les vêtements des photos.

    Clothoff.io

    Clothoff.io

    Dissolvant de vêtements AI

    Video Face Swap

    Video Face Swap

    Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

    Outils chauds

    Bloc-notes++7.3.1

    Bloc-notes++7.3.1

    Éditeur de code facile à utiliser et gratuit

    SublimeText3 version chinoise

    SublimeText3 version chinoise

    Version chinoise, très simple à utiliser

    Envoyer Studio 13.0.1

    Envoyer Studio 13.0.1

    Puissant environnement de développement intégré PHP

    Dreamweaver CS6

    Dreamweaver CS6

    Outils de développement Web visuel

    SublimeText3 version Mac

    SublimeText3 version Mac

    Logiciel d'édition de code au niveau de Dieu (SublimeText3)

    Sujets chauds

    Tutoriel PHP
    1535
    276
    Qu'est-ce que l'analyse des sentiments dans le trading des crypto-monnaies? Qu'est-ce que l'analyse des sentiments dans le trading des crypto-monnaies? Aug 14, 2025 am 11:15 AM

    Table des matières Qu'est-ce que l'analyse des sentiments dans le trading des crypto-monnaies? Pourquoi l'analyse des sentiments est importante dans l'investissement des crypto-monnaies sources clés de données d'émotion a. Plateforme de médias sociaux b. Médias d'information c. Outils pour l'analyse des sentiments et la technologie Utilisé couramment des outils dans l'analyse des sentiments: Techniques adoptées: intégrer l'analyse des sentiments dans les stratégies de trading comment les traders l'utilisent: Exemple de stratégie: supposer le scénario de trading BTC Réglage du scénario: Signal émotionnel: interprétation des commerçants: Décision: Résultats: Limitations et risques de l'analyse des sentiments en utilisant de plus en plus les émotions pour le commerce des crypto-oreilles. Une récente étude en 2025 de Hamid

    Comment gérer les grands ensembles de données dans Python qui ne rentrent pas dans la mémoire? Comment gérer les grands ensembles de données dans Python qui ne rentrent pas dans la mémoire? Aug 14, 2025 pm 01:00 PM

    Lors du traitement de grands ensembles de données qui dépassent la mémoire dans Python, ils ne peuvent pas être chargés en RAM en même temps. Au lieu de cela, des stratégies telles que le traitement de la chasse, le stockage du disque ou le streaming doivent être adoptées; Les fichiers CSV peuvent être lus en morceaux via les paramètres ChunkSize de Pandas et le bloc traité par bloc. La daste peut être utilisée pour réaliser la parallélisation et la planification des tâches similaires à la syntaxe Pandas pour prendre en charge les opérations de données de mémoire importantes. Écrivez les fonctions du générateur pour lire les fichiers texte ligne par ligne pour réduire l'utilisation de la mémoire. Utilisez le format de stockage en colonne de parquet combiné avec Pyarrow pour lire efficacement des colonnes ou des groupes de lignes spécifiques. Utilisez Memmap de Numpy pour mapper la mémoire de grands tableaux numériques pour accéder aux fragments de données à la demande, ou stocker des données dans des données légères telles que SQLite ou DuckDB.

    Comment déboguer votre code python Comment déboguer votre code python Aug 13, 2025 am 12:18 AM

    Useprint () instructionSOcheckVariableValuesAndexEcutionflow, ajoutlabelsandtypesforclarity, andRemoveThembeForComting; 2.Ushepylepylebugger (pdb) withreakpoint () topauseeexecution, inspectvariables, andstepthroughcodeinteractive; 3.HandleExceptionsusin;

    Comment déboguer le code Python dans le texte sublime? Comment déboguer le code Python dans le texte sublime? Aug 14, 2025 pm 04:51 PM

    UsuBrimeText’sBuildSystemTorunpyThonscriptsandcatcherRorSpressingCtrl baftersettingthecorrectBuildSystemorCreatacustomone.2.InsertStrategicprint () StatementScocheckVariableValues, Types, etxExecutionflow, usingLabelSAndrepr () Forclarit

    Comment exécuter le code Python dans le texte sublime? Comment exécuter le code Python dans le texte sublime? Aug 16, 2025 am 04:58 AM

    Assurez-vous que Python est installé et ajouté au chemin du système, exécutez Python - Version ou Python3 - Version Version via le terminal; 2. Enregistrez le fichier Python en tant qu'extension .py, comme Hello.py; 3. Créez un système de construction personnalisé dans sublimeText, les utilisateurs de Windows utilisent {"CMD": ["Python", "- U", "$ File"]}, les utilisateurs de macOS / Linux utilisent {"CMD": ["Python3

    Comment aplatir une liste imbriquée ou une liste de listes dans Python Comment aplatir une liste imbriquée ou une liste de listes dans Python Aug 12, 2025 am 09:49 AM

    AplatinganestestListInpyThonConvertsalist avec les publistiquesIntoasingleflatlist et ThebestMethDependSonTherestDepthanddatasize.forone-levelnesting, uselistcomprehensionliny

    Comment déboguer un script python dans vscode Comment déboguer un script python dans vscode Aug 16, 2025 am 02:53 AM

    Pour déboguer Python Scripts, vous devez d'abord installer l'extension Python et configurer l'interprète, puis créer un fichier lancé.json pour définir la configuration de débogage, puis définir un point d'arrêt dans le code et appuyez sur F5 pour démarrer le débogage. Le script sera interrompu au point d'arrêt, permettant de vérifier les variables et l'exécution étape par étape. Enfin, en vérifiant le problème en affichant la sortie de la console, en ajoutant des journaux ou en ajustant les paramètres, etc., pour s'assurer que le processus de débogage est simple et efficace après la correction de l'environnement.

    Python Plotly Dash Exemple Python Plotly Dash Exemple Aug 12, 2025 pm 05:23 PM

    Cet exemple montre une application Web interactive construite sur PythonPlotlydash. 1. Créez une interface d'application Web à l'aide de Dash. 2. Sélectionnez les séries de données (ventes, profit, dépenses) via le menu déroulant (déroute). 3. Utilisez Plotly pour dessiner dynamiquement le graphique de ligne de séries chronologiques correspondant. 4. Les données sont une série chronologique simulée de 100 jours et convertie en un format long pour un dessin facile. 5. La fonction de rappel met à jour le contenu du graphique en temps réel en fonction du choix de l'utilisateur. Après l'exécution, l'application est démarrée sur le serveur local et est accessible via le navigateur. Il prend en charge l'interaction dynamique et les mises à jour en temps réel. Il convient aux débutants de comprendre la structure de base et le mécanisme de réponse de Dash. Il peut également être ajouté et accessible par des données réelles.

    See all articles