คุณรู้วิธีขนส่งข้อมูลจาก API ออนไลน์หรือจัดเก็บข้อมูลประเภทต่างๆไปยังเครื่องในพื้นที่ของคุณหรือไม่? ไม่ทางใดก็ทางหนึ่งคุณได้ดื่มด่ำกับ JSON ซึ่งย่อมาจาก สัญลักษณ์ Java Script Object เป็นรูปแบบข้อมูลที่มีชื่อเสียงและเป็นที่นิยมใช้ในการแสดงข้อมูลกึ่งโครงสร้าง มาเรียนรู้เพิ่มเติมเกี่ยวกับ Python JSON โดยละเอียด
จะมีการกล่าวถึงประเด็นต่อไปนี้ในบทความนี้:
รู้เบื้องต้นเกี่ยวกับ JSON ใน Python:
JSON ย่อมาจาก เจ ava ส เปล หรือ ขงเบ้ง น การทดลองเป็นวิธีการจัดเก็บข้อมูลอย่างเป็นระเบียบและง่ายดาย ข้อมูลต้องอยู่ในรูปแบบของข้อความเมื่อแลกเปลี่ยนระหว่างเบราว์เซอร์และเซิร์ฟเวอร์
ในกรณีที่คุณสงสัยว่าเป็น เหรอ? จากนั้นคำตอบคือ ไม่. เป็นสคริปต์ที่ประกอบด้วยข้อความและใช้สำหรับจัดเก็บและถ่ายโอนข้อมูลในรูปแบบที่มนุษย์และเครื่องอ่านได้ เป็นรูปแบบข้อมูลขนาดเล็กน้ำหนักเบาซึ่งได้รับแรงบันดาลใจจาก JavaScript และโดยทั่วไปจะใช้ในรูปแบบข้อความหรือสตริง แพ็คเก็ตของ JSON เกือบจะเหมือนกับพจนานุกรม python ตอนนี้คุณต้องสงสัย
วิธีอ่านไฟล์ JSON ใน Python
คำตอบสำหรับคำถามของคุณคือคุณต้องนำเข้าโมดูล JSON ที่โดยทั่วไปจะแปลงประเภทข้อมูล Python เป็นไฟล์สตริง JSON ประกอบด้วยฟังก์ชัน JSON ที่อ่านและเขียนโดยตรงจากไฟล์ JSON มีแพ็คเกจ JSON ในตัวและเป็นส่วนหนึ่งของไลบรารีมาตรฐานดังนั้นคุณไม่จำเป็นต้องติดตั้ง
ตัวอย่าง:
นำเข้า json
เมื่อคุณรู้จัก JSON ใน Python แล้วเรามาดูรายละเอียดเพิ่มเติมเกี่ยวกับการแยกวิเคราะห์กัน
การแยกวิเคราะห์:
ไลบรารี JSON สามารถแยกวิเคราะห์ JSON จากไฟล์ สตริง หรือไฟล์ นอกจากนี้ยังสามารถแยกวิเคราะห์ JSON เป็นไฟล์ หรือรายการและทำในทางกลับกัน โดยทั่วไปการแยกวิเคราะห์จะเกิดขึ้นในสองขั้นตอน:
- การแปลงจาก JSON เป็น Python
- การแปลงจาก Python เป็น JSON
มาทำความเข้าใจทั้งสองขั้นตอนกันดีกว่า
java แปลงสองเท่าเป็นจำนวนเต็ม
การแปลงจาก JSON เป็น Python:
คุณสามารถแปลงสตริง JSON เป็น Python โดยใช้ไฟล์json.loads ()
ให้ฉันแสดงการใช้งานจริง:
ตัวอย่าง:
นำเข้า json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'roughit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} ' '' data = json.loads (people_string) พิมพ์ (ข้อมูล)
เอาท์พุต:
ดังที่คุณเห็นจากผลลัพธ์ด้านบนมันได้พิมพ์ไฟล์ . มาพิมพ์ประเภทข้อมูลเพื่อความเข้าใจที่ดีขึ้น
ตัวอย่าง:
นำเข้า json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'roughit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} ' '' data = json.loads (people_string) print (type (data)) # พิมพ์ประเภทข้อมูล
เอาท์พุต:
เมื่อคุณคุ้นเคยกับ Conversion หนึ่งรายการแล้วเรามาดู Conversion ประเภทอื่นในขั้นตอนที่สองกัน
การแปลงจาก Python เป็น JSON:
วัตถุ Python สามารถแปลงเป็นสตริง JSON ได้โดยใช้json.dumps ()
ลองดูตัวอย่างด้านล่าง:
ตัวอย่าง:
นำเข้า json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'roughit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]} '' 'data = json.loads (people_string) new_string = json.dumps (data) พิมพ์ (new_string)
เอาท์พุต:
เอาต์พุตจะเป็นประเภทสตริง JSON ฉันได้สาธิตประเภทข้อมูลในการแปลง JSON เป็น Python แล้วจะมีการปฏิบัติตามขั้นตอนเดียวกันสำหรับการพิมพ์ประเภทข้อมูล
มาดูกันว่า Pandas แยกวิเคราะห์ JSON อย่างไร
Pandas Parsing JSON:
สตริง JSON สามารถแยกวิเคราะห์เป็นไฟล์ หมีแพนด้า Dataframe จากขั้นตอนต่อไปนี้:
- สามารถใช้โครงสร้างทั่วไปต่อไปนี้เพื่อโหลดสตริง JSON ลงใน DataFrame
นำเข้าแพนด้าเป็น pd pd.read_json (r'Path ที่คุณบันทึกไฟล์ JSON fileFile Name.json ')
- เตรียมสตริง JSON
- สร้างไฟล์ JSON ที่เราใช้คือ nobel_prize.json
- โหลดไฟล์ JSON ลงใน Panda DataFrame
โค้ดที่ติดตั้งด้านล่างนี้จะโหลดไฟล์ JSON ของฉันลงใน DataFrame
นำเข้าแพนด้าเป็น pd import json ด้วย open (r'C: UsersHarshit_KantDesktopnobel.prize.json ') เป็น f: data = json.load (f) print (data) df = pd.DataFrame print (df)
เอาท์พุต:
ต่อไปให้เราดูว่าคุณสามารถทำให้อนุกรม JSON ใน Python ได้อย่างไร
การทำให้เป็นอนุกรมของ JSON [เข้ารหัส]:
การทำให้อนุกรม JSON หมายความว่าคุณกำลังเข้ารหัส JSON จะแปลงโครงสร้างข้อมูล Python ที่กำหนด (เช่น: dict) เป็นออบเจ็กต์ JSON ที่ถูกต้อง ในการจัดการกระแสข้อมูลในไฟล์ไลบรารี JSON ใน Python ใช้ไฟล์ ถ่ายโอนข้อมูล () และ ทิ้ง () ซึ่งจะทำการแปลงและทำให้ง่ายต่อการเขียนข้อมูลลงในไฟล์
ตารางด้านล่างแสดงให้เห็นถึงไฟล์ Python ประเภทข้อมูล ได้รับการแปลงเป็นประเภท JSON ตามลำดับ
Python | JSON |
dict (พจนานุกรม) | วัตถุ |
รายการอาร์เรย์ | ทูเพิล |
สตริง | สตริง |
int ยาวลอย | ตัวเลข |
จริง | จริง |
เท็จ | เท็จ |
ไม่มี | โมฆะ |
สิ่งที่ต้องจำ:
ถ่ายโอนข้อมูล () - แปลงข้อมูลเป็นไฟล์ JSON
ทิ้ง () - แปลงข้อมูลเป็นสตริง JSON
โหลด () - แปลงไฟล์ JSON เป็นวัตถุ Python
โหลด () - แปลงวัตถุของสตริง JSON เป็นวัตถุ Python
การพิมพ์สวย:
Pretty Printing ดูแลการจัดตำแหน่งโค้ดและทำให้อยู่ในรูปแบบที่มนุษย์อ่านได้ ลองดูตัวอย่างด้านล่างซึ่งฉันได้ส่งผ่านพารามิเตอร์สองตัว 'sort_keys' ที่ส่งคืนค่าทรูบูลีนและช่องว่าง 'เยื้อง' เสมอ
ตัวอย่าง:
นำเข้า json people_string = '' '{' people ': [{' emp_name ':' John smith ',' emp_no. ':' 924367-567-23 ',' emp_email ': [' johnsmith@dummyemail.com '], 'has_license': 'false'}, {'emp_name': 'roughit 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)
เอาท์พุต:
ก้าวไปข้างหน้าในบทช่วยสอน Python JSON ให้เราเข้าใจการดีซีเรียลไลเซชันของ JSON
Deserialization ของ JSON [ถอดรหัส]:
Deserialization ของ JSON ตรงข้ามกับการทำให้เป็นอนุกรมนั่นหมายความว่าคุณกำลังถอดรหัส JSON มันแปลงสตริง JSON ที่กำหนดให้เป็นไฟล์ Python วัตถุ โดยใช้ประโยชน์จาก โหลด () และ โหลด () วิธีการที่จะแปลง
ตารางด้านล่างแสดงให้เห็นถึงการแปลงประเภทข้อมูล JSON เป็นประเภท Python ตามลำดับ
JSON | Python |
วัตถุ | dict (พจนานุกรม) |
ทูเพิล | รายการอาร์เรย์ |
สตริง | สตริง |
ตัวเลข | int ยาวลอย |
จริง | จริง |
เท็จ | เท็จ |
โมฆะ | ไม่มี |
ก้าวต่อไปในบทแนะนำ 'Python JSON' ฉันจะแสดงตัวอย่างแบบเรียลไทม์ของทั้งการทำให้เป็นอนุกรมและการดีซีเรียลไลเซชันผ่านมุมมองการเข้ารหัส
การสาธิตการเข้ารหัส:
ในการสาธิตการเข้ารหัสนี้ฉันกำลังใช้ชุดข้อมูล JSON ที่เรียกว่า 'รางวัลโนเบล' ที่มอบให้ ที่นี่ . คุณจะได้เรียนรู้วิธีการทำซีเรียลไลเซชั่นและการดีซีเรียลไลเซชันเดียวกันผ่านไฟล์ JSON
ตัวอย่าง (Serialization of JSON dataset):
นำเข้า json ด้วย open ('nobel_prize.json.html') เป็น f: data = json.load (f) ด้วย open ('new_nobel_prize.json.html') เป็น f: json.dump (data, f, indent = 2)
เอาท์พุต:
คอมไพล์สำเร็จและไฟล์ใหม่“ new_nobel_prize.json” ถูกสร้างขึ้นซึ่งข้อมูลจะถูกถ่ายโอนจากไฟล์ที่มีอยู่แล้ว“ nobel_prize.json”
ย้อนกลับตัวเลขใน java
ตัวอย่าง (Deserialization ของชุดข้อมูล JSON):
นำเข้า json โดยเปิด ('nobel_prize.json.html') เป็น f: data = json.load (f) สำหรับ nobel_prize ในข้อมูล ['รางวัล']: พิมพ์ (nobel_prize ['year'], nobel_prize ['category'])
เอาท์พุต:
ข้อมูลโค้ดแสดงการเปลี่ยนแปลงจากไฟล์ JSON ไปยังออบเจ็กต์ Python ที่เกี่ยวข้อง
เรามาถึงตอนท้ายของบทความ“ Python JSON” ฉันหวังว่าคุณจะเข้าใจแนวคิดทั้งหมดที่เกี่ยวข้องกับ JSON, Parsing, Serialization และ Deserialization
ให้แน่ใจว่าคุณฝึกฝนให้มากที่สุดและเปลี่ยนประสบการณ์
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทความ Python JSON แล้วเราจะติดต่อกลับโดยเร็วที่สุด หากต้องการรับความรู้เชิงลึกเกี่ยวกับ Python พร้อมกับแอพพลิเคชั่นต่างๆคุณสามารถทำได้ ด้วยการฝึกอบรมออนไลน์สดของเราพร้อมการสนับสนุนตลอด 24 ชั่วโมงทุกวันและการเข้าถึงตลอดชีวิต