91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何將各種數(shù)據(jù)存儲到本地計算機?

華為開發(fā)者社區(qū) ? 來源:華為云社區(qū) ? 作者:Yuchuan ? 2021-04-20 14:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

您知道如何從在線API傳輸數(shù)據(jù)或將各種數(shù)據(jù)存儲到本地計算機嗎?

您已經(jīng)將自己沉浸于JSON的一種方式中,JSON表示Java Script Object Notation。它是一種著名的流行數(shù)據(jù)格式,用于表示半結構化數(shù)據(jù)。讓我們詳細了解Python JSON。

本文將討論以下方面:

Python JSON簡介

如何在Python中讀取JSON文件

解析中

從Python轉換為JSON

從JSON轉換為Python

熊貓解析JSON

JSON序列化[編碼]

漂亮的印刷J

SON的反序列化[解碼]

編碼示范

Python JSON簡介:

JSON代表JAVA小號script objectn浮選是存儲在一個有組織的和容易的方式信息的方式。在瀏覽器和服務器之間交換數(shù)據(jù)時,數(shù)據(jù)必須為文本形式。

如果您想知道它是否是JavaScript?那么答案是否定的。它是一個由文本組成的腳本,用于以人類和機器可讀格式存儲和傳輸數(shù)據(jù)。它是一種受JavaScript啟發(fā)的小型輕量數(shù)據(jù)格式,通常以文本或字符串格式使用。JSON數(shù)據(jù)包幾乎等同于python字典?,F(xiàn)在,您一定想知道。

如何在Python中讀取JSON文件?

問題的答案是,您必須導入JSON模塊,該模塊通常將Python數(shù)據(jù)類型轉換為JSON字符串文件。它由直接從JSON文件讀取和寫入的JSON函數(shù)組成。Python具有內(nèi)置的JSON包,并且是標準庫的一部分,因此您無需安裝它。

例子:

import json

現(xiàn)在您已經(jīng)了解了Python中的JSON,下面讓我們更深入地分析Parsing。

解析:JSON庫可以從字符串或文件中解析JSON 。它還可以將JSON解析到Python字典或列表中,反之亦然。解析通常分為兩個階段:

從JSON轉換為Python

從Python轉換為JSON

讓我們更好地了解這兩個階段。

從JSON轉換為Python:

您可以使用以下方法將JSON字符串轉換為

Python json.loads()。

例子:

import jsonpeople_string = ‘’‘{“people”:[{“emp_name”: “John smith”,“emp_no.”: “924367-567-23”,“emp_email”: [“johnsmith@dummyemail.com”],“has_license”: “false”},{“emp_name”: “harshit kant”,“emp_number”: “560-555-5153”,“emp_email”: “null”,“has_license”: “true”}]}’‘’data = json.loads(people_string)print(data)

輸出:

f8663674-9f14-11eb-8b86-12bb97331649.png

從上面的輸出中可以看到,它已經(jīng)打印了Python字典。讓我們打印數(shù)據(jù)類型以更好地理解。

例子:

import jsonpeople_string = ‘’‘{“people”:[{“emp_name”: “John smith”,“emp_no.”: “924367-567-23”,“emp_email”: [“johnsmith@dummyemail.com”],“has_license”: “false”},{“emp_name”: “harshit kant”,“emp_number”: “560-555-5153”,“emp_email”: “null”,“has_license”: “true”}]}’‘’data = json.loads(people_string)print(type(data)) #prints the datatype

輸出:

《class‘dict’》

現(xiàn)在,您已經(jīng)熟悉一個轉換,讓我們在第二階段看看另一種轉換類型。

從Python轉換為JSON:

通過使用json.dumps()。 下面給出的示例,可以將Python對象轉換為JSON字符串:

例子:

import jsonpeople_string = ‘’‘{“people”:[{“emp_name”: “John smith”,“emp_no.”: “924367-567-23”,“emp_email”: [“johnsmith@dummyemail.com”],“has_license”: “false”},{“emp_name”: “harshit kant”,“emp_no.”: “560-555-5153”,“emp_email”: “null”,“has_license”: “true”}]}’‘’data = json.loads(people_string)new_string = json.dumps(data)print(new_string)

輸出:

f89bae94-9f14-11eb-8b86-12bb97331649.png

輸出將是JSON字符串類型。我已經(jīng)在JSON到Python的轉換中演示了數(shù)據(jù)類型,將遵循相同的過程來打印數(shù)據(jù)類型。

讓我們繼續(xù)前進,看看Pandas如何解析JSON。

熊貓解析JSON:

可以通過以下步驟將JSON字符串解析為pandas Dataframe:

以下通用結構可用于將JSON字符串加載到DataFrame中

import pandas as pd

pd.read_json(r‘Path where you saved the JSON fileFile Name.json’)

準備JSON字符串。

創(chuàng)建一個我們正在使用的JSON文件nobel_prize.json。

將JSON文件加載到pandas DataFrame中。

下面實現(xiàn)的代碼將我的JSON文件加載到DataFrame中。

import pandas as pdimport json

with open(r‘C:UsersHarshit_KantDesktopnobel.prize.json’) as f: data = json.load(f)print (data)

df = pd.DataFrame

print(df)

輸出:

f8ada216-9f14-11eb-8b86-12bb97331649.png

繼續(xù)前進,讓我們看看如何在Python中序列化JSON。

JSON序列化[編碼]:

序列化JSON只是意味著您正在編碼JSON。它將給定的Python數(shù)據(jù)結構(ex:dict)轉換為其有效的JSON對象。為了處理文件中的數(shù)據(jù)流,Python中的JSON庫使用dump()和dumps()方法,該方法進行轉換并使其易于將數(shù)據(jù)寫入文件中。

下表是說明將Python數(shù)據(jù)類型轉換為各自的JSON類型的表格。

f8c5eeca-9f14-11eb-8b86-12bb97331649.png

要記住的要點:

dump() –將數(shù)據(jù)轉換為JSON文件

dumps() –將數(shù)據(jù)轉換為JSON字符串

load() –將JSON文件轉換為Python對象

loads()–將JSON字符串的對象轉換為Python對象

漂亮的印刷:

Pretty Printing負責代碼對齊并使其以人類可讀的格式進行。讓我們看下面的示例,其中我傳遞了兩個參數(shù)‘sort_keys’,這些參數(shù)始終返回布爾True值和‘indent’空格。

例子:

import jsonpeople_string = ‘’‘{“people”:[{ “emp_name”: “John smith”, “emp_no.”: “924367-567-23”, “emp_email”: [“johnsmith@dummyemail.com”], “has_license”: “false”},{ “emp_name”: “harshit kant”, “emp_no.”: “560-555-5153”, “emp_email”: “null”, “has_license”: “true”}]}’‘’

data = json.loads(people_string)new_string = json.dumps(data, sort_keys=True, indent=3)print(new_string)

輸出:

f8cfea88-9f14-11eb-8b86-12bb97331649.png

繼續(xù)進行Python JSON教程,讓我們了解JSON的反序列化。

JSON的反序列化[Decode]:

JSON的反序列化與序列化完全相反,也就是說,這意味著您正在解碼JSON。它將通過使用執(zhí)行轉換的load()和load()方法將給定的JSON字符串轉換為Python對象。

下表是說明將JSON數(shù)據(jù)類型轉換為其相應的Python類型的表格。

f8eb0584-9f14-11eb-8b86-12bb97331649.png

繼續(xù)進行“ Python JSON”教程。我將通過編碼的角度向您展示一個同時進行序列化和反序列化的實時示例。

編碼演示:在此編碼演示中,我將使用此處給出的JSON數(shù)據(jù)集,稱為“諾貝爾獎” 。您將學習如何通過JSON文件進行序列化和反序列化。

示例(JSON數(shù)據(jù)集的序列化):

import json

with open(‘nobel_prize.json.html’) as f: data = json.load(f)

with open(‘new_nobel_prize.json.html’) as f: json.dump(data,f,indent=2)

輸出:Python代碼已成功編譯,并創(chuàng)建了一個新文件“ new_nobel_prize.json”,將從現(xiàn)有文件“ nobel_prize.json”中轉儲數(shù)據(jù)。

f908f404-9f14-11eb-8b86-12bb97331649.png

示例(JSON數(shù)據(jù)集的反序列化):

import json

with open(‘nobel_prize.json.html’) as f:data = json.load(f)

for nobel_prize in data[‘prizes’]:print(nobel_prize[‘year’],nobel_prize[‘category’])

輸出:該代碼段顯示了從JSON文件到其相應的Python對象的更改。

f926ae7c-9f14-11eb-8b86-12bb97331649.png

希望您對與JSON的解析,序列化和反序列化有關的所有概念感到清楚。

原文標題:從零開始學python | 什么是Python JSON?

文章出處:【微信公眾號:華為開發(fā)者社區(qū)】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • python
    +關注

    關注

    57

    文章

    4877

    瀏覽量

    90075

原文標題:從零開始學python | 什么是Python JSON?

文章出處:【微信號:Huawei_Developer,微信公眾號:華為開發(fā)者社區(qū)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    工業(yè)邊緣計算機是什么?有什么功能?

    工業(yè)邊緣計算機是部署在工業(yè)現(xiàn)場邊緣側,具備計算、存儲、網(wǎng)絡能力,能就近處理工業(yè)數(shù)據(jù)并實現(xiàn)快速決策的專用設備。它通過算力下沉至靠近
    的頭像 發(fā)表于 02-12 14:43 ?571次閱讀

    龍芯主板讓工控計算機擁有安全可信的核心

    工控計算機,是工業(yè)自動化和智能制造領域的核心設備,負責數(shù)據(jù)采集、處理、存儲與傳輸,實現(xiàn)設備的監(jiān)控與控制,確保生產(chǎn)線的穩(wěn)定運行。在現(xiàn)代工業(yè)生產(chǎn)中,工控計算機的地位不可或缺,它如同智能制造
    的頭像 發(fā)表于 01-21 09:02 ?370次閱讀

    工控機與普通計算機的核心差異解析

    在工業(yè)自動化和智能制造領域,計算機設備作為核心控制單元,其選擇直接影響整個系統(tǒng)的穩(wěn)定性與可靠性。工控機與普通計算機雖同屬計算設備,但其設計目標、性能側重和應用場景存在根本性差異。準確理解這些差異,是進行正確設備選型的基礎。
    的頭像 發(fā)表于 11-25 14:45 ?1789次閱讀
    工控機與普通<b class='flag-5'>計算機</b>的核心差異解析

    貿(mào)澤電子開售全新Arduino UNO Q單板計算機

    貿(mào)澤電子開售全新Arduino UNO Q單板計算機。Arduino UNO Q單板計算機(SBC)高性能計算與實時控制結合,提供理想的創(chuàng)新平臺。
    的頭像 發(fā)表于 11-08 09:50 ?1363次閱讀

    NVIDIA DGX Spark桌面AI計算機開啟預訂

    DGX Spark 現(xiàn)已開啟預訂!麗臺科技作為 NVIDIA 授權分銷商,提供從產(chǎn)品服務的一站式解決方案,助力輕松部署桌面 AI 計算機。
    的頭像 發(fā)表于 09-23 17:20 ?1336次閱讀
    NVIDIA DGX Spark桌面AI<b class='flag-5'>計算機</b>開啟預訂

    【作品合集】賽昉科技VisionFive 2單板計算機開發(fā)板測評

    賽昉科技VisionFive 2單板計算機開發(fā)板測評作品合集 產(chǎn)品介紹: 昉·星光 2是全球首款集成了3D GPU的高性能量產(chǎn)RISC-V單板計算機,搭載昉·驚鴻-7110(型號:JH-7110
    發(fā)表于 09-04 09:08

    工業(yè)計算機的重要性

    于管理用于產(chǎn)品檢查、數(shù)據(jù)記錄和數(shù)據(jù)分析的運動控制系統(tǒng),以提高制造生產(chǎn)率。例如,汽車行業(yè)從工業(yè)邊緣計算機中受益匪淺,這些計算機用于自動化制造汽車所涉及的
    的頭像 發(fā)表于 07-28 16:07 ?581次閱讀
    工業(yè)<b class='flag-5'>計算機</b>的重要性

    自動化計算機經(jīng)過加固后有什么好處?

    讓我們討論一下部署堅固的自動化計算機的一些好處。1.溫度范圍寬自動化計算機經(jīng)過工程設計,配備了支持寬溫度范圍的組件,使自動化計算解決方案能夠在各種不同的極端環(huán)境中運行。自動化
    的頭像 發(fā)表于 07-21 16:44 ?628次閱讀
    自動化<b class='flag-5'>計算機</b>經(jīng)過加固后有什么好處?

    自動化計算機的功能與用途

    工業(yè)自動化是指利用自動化計算機來控制工業(yè)環(huán)境中的流程、機器人和機械,以制造產(chǎn)品或其部件。工業(yè)自動化的目的是提高生產(chǎn)率、增加靈活性,并提升制造過程的質量。工業(yè)自動化在汽車制造中體現(xiàn)得最為明顯,其中許多
    的頭像 發(fā)表于 07-15 16:32 ?749次閱讀
    自動化<b class='flag-5'>計算機</b>的功能與用途

    工業(yè)計算機與商用計算機的區(qū)別有哪些

    工業(yè)計算機是一種專為工廠和工業(yè)環(huán)境設計的計算系統(tǒng),具有高可靠性和穩(wěn)定性,能夠應對惡劣環(huán)境下的自動化、制造和機器人操作。其特點包括無風扇散熱技術、無電纜連接和防塵防水設計,使其在各種工業(yè)自動化場景中
    的頭像 發(fā)表于 07-10 16:36 ?753次閱讀
    工業(yè)<b class='flag-5'>計算機</b>與商用<b class='flag-5'>計算機</b>的區(qū)別有哪些

    Blue Lion超級計算機將在NVIDIA Vera Rubin上運行

    德國萊布尼茨超算中心(LRZ)迎來全新超級計算機 Blue Lion,其算力比該中心現(xiàn)有的 SuperMUC-NG 高性能計算機提升了約 30 倍。這臺新的超級計算機將在 NVIDI
    的頭像 發(fā)表于 06-12 15:39 ?1160次閱讀

    一文帶你了解工業(yè)計算機尺寸

    一項艱巨的任務。本博客指導您了解關鍵的工業(yè)計算機尺寸、使用案例。關鍵工業(yè)計算機外形要素及其使用案例一、工業(yè)微型PC尺寸范圍:寬度:100毫米-180毫米深度:10
    的頭像 發(fā)表于 04-24 13:35 ?1052次閱讀
    一文帶你了解工業(yè)<b class='flag-5'>計算機</b>尺寸

    計算機網(wǎng)絡入門指南

    計算機網(wǎng)絡是指地理位置不同且具有獨立功能的多臺計算機及其外部設備,通過通信線路連接起來,在網(wǎng)絡操作系統(tǒng)、網(wǎng)絡管理軟件及網(wǎng)絡通信協(xié)議的管理和協(xié)調下,實現(xiàn)資源共享和信息傳遞的計算機系統(tǒng)。
    的頭像 發(fā)表于 04-22 14:29 ?2266次閱讀
    <b class='flag-5'>計算機</b>網(wǎng)絡入門指南

    NVIDIA GTC2025 亮點 NVIDIA推出 DGX Spark個人AI計算機

    臺式超級計算機由 NVIDIA Grace Blackwell 驅動,為開發(fā)者、研究人員和數(shù)據(jù)科學家提供加速 AI 功能;系統(tǒng)由頭部計算機制造商(包括華碩、Dell Technologies、HP
    的頭像 發(fā)表于 03-20 18:59 ?1643次閱讀
    NVIDIA GTC2025 亮點  NVIDIA推出 DGX Spark個人AI<b class='flag-5'>計算機</b>

    NVIDIA 宣布推出 DGX Spark 個人 AI 計算機

    臺式超級計算機由 NVIDIA Grace Blackwell 驅動,為開發(fā)者、研究人員和數(shù)據(jù)科學家提供加速 AI 功能;系統(tǒng)由頭部計算機制造商(包括華碩、Dell Technologies、HP
    發(fā)表于 03-19 09:59 ?792次閱讀
       NVIDIA 宣布推出 DGX Spark 個人 AI <b class='flag-5'>計算機</b>