خواندن فایل JSON در پایتون یکی از رایجترین نیازها هنگام کار با دادههای ساختیافته است. فایلهای JSON دادهها را بهصورت متن قابل فهم برای انسان نگهداری میکنند و به دلیل سادگی و انعطافپذیری، در پروژههای مختلف بسیار پرکاربرد هستند. JSON مخفف عبارت JavaScript Object Notation است و کتابخانه pandas در پایتون این قابلیت را فراهم میکند که بتوانید این فایلها را بهسادگی با تابع read_json
بارگذاری و پردازش کنید.
ایجاد فایل JSON
برای ساخت یک فایل JSON، کافی است دادههای زیر را در یک ویرایشگر متنی مانند Notepad کپی کرده و فایل را با پسوند .json
و نوع ذخیرهسازی “All Files (.)” ذخیره کنید.
1 2 3 4 5 6 7 8 9 |
{ "ID":["1","2","3","4","5","6","7","8" ], "Name":["Rick","Dan","Michelle","Ryan","Gary","Nina","Simon","Guru" ] "Salary":["623.3","515.2","611","729","843.25","578","632.8","722.5" ], "StartDate":[ "1/1/2012","9/23/2013","11/15/2014","5/11/2014","3/27/2015","5/21/2013", "7/30/2013","6/17/2014"], "Dept":[ "IT","Operations","IT","HR","Finance","IT","Operations","Finance"] } |
خواندن فایل JSON در پایتون
تابع read_json
در کتابخانه pandas برای بارگذاری فایل JSON به یک DataFrame استفاده میشود. مثال زیر نحوه انجام این کار را نشان میدهد:
1 2 3 4 |
import pandas as pd data = pd.read_json('path/input.json') print (data) |
خروجی اجرای کد بالا به شکل زیر خواهد بود:
1 2 3 4 5 6 7 8 9 |
Dept ID Name Salary StartDate 0 IT 1 Rick 623.30 1/1/2012 1 Operations 2 Dan 515.20 9/23/2013 2 IT 3 Tusar 611.00 11/15/2014 3 HR 4 Ryan 729.00 5/11/2014 4 Finance 5 Gary 843.25 3/27/2015 5 IT 6 Rasmi 578.00 5/21/2013 6 Operations 7 Pranab 632.80 7/30/2013 7 Finance 8 Guru 722.50 6/17/2014 |
خواندن ردیفها و ستونهای خاص
پس از بارگذاری فایل JSON در قالب DataFrame، میتوان مانند فایلهای CSV، بخش خاصی از دادهها را انتخاب و نمایش داد. برای این منظور از متد loc()
که یک روش ایندکسگذاری چندمحوره است استفاده میشود. مثال زیر نحوه انتخاب و نمایش ستونهای Salary و Name را برای چند ردیف مشخص در DataFrame نشان میدهد.
1 2 3 4 5 |
import pandas as pd data = pd.read_json('path/input.xlsx') # Use the multi-axes indexing funtion print (data.loc[[1,3,5],['salary','name']]) |
خروجی اجرای کد بالا به شکل زیر خواهد بود:
1 2 3 4 |
salary name 1 515.2 Dan 3 729.0 Ryan 5 578.0 Rasmi |
تبدیل فایل JSON به صورت رکوردهای جداگانه
برای نمایش فایل JSON به صورت رکوردهای جداگانه (record-based format)، میتوان از تابع to_json
همراه با پارامترهای خاص استفاده کرد. مثال زیر، محتویات فایل JSON را به صورت رکوردهایی مستقل نمایش میدهد:
1 2 3 4 |
import pandas as pd data = pd.read_json('path/input.xlsx') print(data.to_json(orient='records', lines=True)) |
خروجی اجرای کد بالا به شکل زیر خواهد بود:
1 2 3 4 5 6 7 8 |
{"Dept":"IT","ID":1,"Name":"Rick","Salary":623.3,"StartDate":"1\/1\/2012"} {"Dept":"Operations","ID":2,"Name":"Dan","Salary":515.2,"StartDate":"9\/23\/2013"} {"Dept":"IT","ID":3,"Name":"Tusar","Salary":611.0,"StartDate":"11\/15\/2014"} {"Dept":"HR","ID":4,"Name":"Ryan","Salary":729.0,"StartDate":"5\/11\/2014"} {"Dept":"Finance","ID":5,"Name":"Gary","Salary":843.25,"StartDate":"3\/27\/2015"} {"Dept":"IT","ID":6,"Name":"Rasmi","Salary":578.0,"StartDate":"5\/21\/2013"} {"Dept":"Operations","ID":7,"Name":"Pranab","Salary":632.8,"StartDate":"7\/30\/2013"} {"Dept":"Finance","ID":8,"Name":"Guru","Salary":722.5,"StartDate":"6\/17\/2014"} |
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- انتشار: ۱۷ مرداد ۱۴۰۴
دسته بندی موضوعات
- آموزش ارز دیجیتال
- آموزش برنامه نویسی
- آموزش متنی برنامه نویسی
- اطلاعیه و سایر مطالب
- پروژه برنامه نویسی
- دوره های تخصصی برنامه نویسی
- رپورتاژ
- فیلم های آموزشی
- ++C
- ADO.NET
- Adobe Flash
- Ajax
- AngularJS
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- AVR
- Bootstrap
- CCNA
- CCNP
- CMD
- CSS
- Dreameaver
- EntityFramework
- HTML
- IOS
- jquery
- Linq
- Mysql
- Oracle
- PHP
- PHPMyAdmin
- Rational Rose
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- WPF
- Xml
- آموزش های پروژه محور
- اتوکد
- الگوریتم تقریبی
- امنیت
- اندروید
- اندروید استودیو
- بک ترک
- بیسیک فور اندروید
- پایتون
- جاوا
- جاوا اسکریپت
- جوملا
- دلفی
- دوره آموزش Go
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کانستراکت
- کریستال ریپورت
- لاراول
- معماری کامپیوتر
- مهندسی اینترنت
- هوش مصنوعی
- یونیتی
- کتاب های آموزشی
- Android
- ASP.NET
- AVR
- LINQ
- php
- Workflow
- اچ تی ام ال
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- پاسکال
- پایان نامه
- پایتون
- جاوا
- جاوا اسکریپت
- جی کوئری
- داده کاوی
- دلفی
- رباتیک
- سئو
- سایر کتاب ها
- سخت افزار
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- طراحی الگوریتم
- فتوشاپ
- مقاله
- مهندسی نرم افزار
- هک و امنیت
- هوش مصنوعی
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس