千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Python轉換JSON完全指南

Python轉換JSON完全指南

來源:千鋒教育
發布人:xqq
時間: 2023-11-24 18:42:56 1700822576

一、Python轉換JSON的概念

JavaScript對象表示法(JSON),是一種輕量級的數據格式,是現代的數據交換格式。它基于JavaScript語言的一個子集,易于人類閱讀和編寫,同時也易于機器解析和生成。Python中,我們可以將Python對象轉換為JSON格式,也可以將JSON格式解析為Python對象。

二、Python對象轉換為JSON

Python中,我們可以使用json模塊來執行Python對象轉換為JSON格式。json模塊中,有兩個主要的方法:


    * dumps: 序列化,將Python對象轉換為JSON格式的字符串
    * dump: 序列化,將Python對象轉換為JSON格式的字符串并將其寫入文件

示例代碼:


import json

# Python字典
person_dict = {'name': 'Tom', 'age': 25, 'city': 'New York'}

# 轉換為JSON
person_json = json.dumps(person_dict)

# 輸出為JSON字符串
print(person_json)

輸出結果:


{"name": "Tom", "age": 25, "city": "New York"}

三、JSON轉換為Python對象

Python中,我們可以使用json模塊來執行JSON格式轉換為Python對象。json模塊中,有兩個主要的方法:


    * loads: 反序列化,將JSON格式的字符串轉換為Python對象
    * load: 反序列化,將存儲在文件中的JSON格式的數據轉換為Python對象

示例代碼:


import json

# JSON字符串
person_json = '{"name": "Tom", "age": 25, "city": "New York"}'

# 轉換為Python字典
person_dict = json.loads(person_json)

# 輸出為Python字典
print(person_dict)

輸出結果:


{'name': 'Tom', 'age': 25, 'city': 'New York'}

四、Python對象轉換為JSON可選參數

在轉換Python對象為JSON格式時,我們可以使用一些可選參數來格式化JSON字符串。以下是一些常用的可選參數:


    * indent: 縮進空格的數量
    * separators: 分隔符號
    * sort_keys: 是否按照字母順序對鍵進行排序

示例代碼:


import json

# Python字典
person_dict = {'name': 'Tom', 'age': 25, 'city': 'New York'}

# 轉換為JSON字符串并格式化
person_json = json.dumps(person_dict, indent=4, separators=(',', ': '), sort_keys=True)

# 輸出為JSON字符串
print(person_json)

輸出結果:


{
    "age": 25,
    "city": "New York",
    "name": "Tom"
}

五、JSON轉換為Python對象可選參數

在轉換JSON字符串為Python對象時,我們可以使用一些可選參數來更好地解析JSON數據。以下是一些常用的可選參數:


    * object_hook: 對每個字典進行操作的函數
    * parse_float: 將所有浮點數轉換為浮點數
    * parse_int: 將所有整數轉換為整數
    * parse_constant: 對除數NaN和Infinity之外的其他常量進行操作的函數

示例代碼:


import json

# JSON字符串
person_json = '{"name": "Tom", "age": 25, "city": "New York"}'

# 使用object_hook將JSON轉為Python對象
person_dict = json.loads(person_json, object_hook=lambda d: {k.lower(): v for k, v in d.items()})

# 輸出為Python字典
print(person_dict)

輸出結果:


{'name': 'Tom', 'age': 25, 'city': 'New York'}

六、python批量處理多個json文件合并到一個CSV文件


import csv
import glob
import json

# 獲取JSON文件列表
json_files = glob.glob('*.json')

# 打開CSV文件
with open('output.csv', 'w', newline='', encoding='utf-8') as csvfile:
    writer = csv.writer(csvfile, delimiter=',')
     
    # 遍歷JSON文件
    for json_file in json_files:
        with open(json_file, 'r', encoding='utf-8') as f:
            # 讀取JSON文件中的行
            lines = f.readlines()
             
            # 遍歷JSON文件中的行
            for line in lines:
                # 將JSON數據轉換為Python字典
                data = json.loads(line)
                 
                # 寫入CSV文件
                writer.writerow([data['name'], data['age'], data['city']])

以上就是關于Python轉換JSON的完整指南。希望可以幫助你更好地使用Python進行JSON格式數據處理。
tags: qmetaobject
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
色h亚洲激情在线 | 在线看片国产在线 | 日本高清中文字幕视频在线 | 中文字幕欧美日韩 | 中文字幕久久综合久久88 | 亚洲永久在线观看 |