Trong bài viết này, bạn sẽ học cách đọc một chuỗi JSON và chuyển đổi nó thành một Pandas DataFrame trong Python
Để làm cho nó thú vị hơn, chúng tôi có kịch bản chạy sau
Antoine, Người quản lý của Bảo tàng Smithsonian, đang mang Bộ sưu tập Ai Cập của họ lên đường. Antoine đã nhận được Lịch biểu dưới dạng tệp JSON. Anh ấy cần sự trợ giúp của bạn để xem nội dung dưới dạng DataFrame
💬 câu hỏi. Làm cách nào chúng ta viết mã Python để đọc chuỗi JSON vào DataFrame?
Chúng ta có thể hoàn thành nhiệm vụ này bằng một trong các tùy chọn sau
- Phương pháp 1. Sử dụng
import pandas as pd import json
5 để chuyển đổi chuỗi JSON thành DataFrame - Phương pháp 2. Sử dụng
import pandas as pd import json
6 vàimport pandas as pd import json
7 để chuyển đổi chuỗi JSON thành DataFrame - Phương pháp 3. Sử dụng
import pandas as pd import json
8 để chuyển đổi tệp JSON thành DataFrame
Trước khi mã của chúng tôi thực thi thành công, một [1] thư viện mới sẽ yêu cầu cài đặt
- Thư viện Pandas cho phép truy cập vào/từ DataFrame
Để cài đặt thư viện này, hãy điều hướng đến một thiết bị đầu cuối IDE. Tại dấu nhắc lệnh [
import pandas as pd import json0], hãy thực thi mã bên dưới. Đối với thiết bị đầu cuối được sử dụng trong ví dụ này, dấu nhắc lệnh là ký hiệu đô la [
import pandas as pd import json0]. Lời nhắc thiết bị đầu cuối của bạn có thể khác
$ pip install pandas
Nhấn phím
import pandas as pd import json2 trên bàn phím để bắt đầu quá trình cài đặt
Nếu quá trình cài đặt thành công, một thông báo sẽ hiển thị trong thiết bị đầu cuối cho biết điều tương tự
Vui lòng xem hướng dẫn cài đặt PyCharm để biết thư viện cần thiết
- Cách cài đặt Pandas trên PyCharm
Thêm đoạn mã sau vào đầu mỗi đoạn mã. Đoạn mã này sẽ cho phép mã trong bài viết này chạy không có lỗi
import pandas as pd import json
Phương pháp 1. Sử dụng read_json[] để chuyển đổi chuỗi JSON thành DataFrame
Ví dụ này đọc trong Danh sách từ điển sử dụng hàm
import pandas as pd import json8 của Panda. Nó chấp nhận một chuỗi JSON và chuyển đổi nó thành DataFrame.
event_data = ''' [ { "ID": "1", "Museum": "Royal Ontario Museum", "Country": "Canada", "Month": "June"}, { "ID": "2", "Museum": "The Louvre", "Country": "France", "Month": "July" }, { "ID": "2", "Museum": "German Historical Museum", "Country": "Germany", "Month": "Aug." }, { "ID": "4", "Museum": "Amsterdam Museum", "Country": "Netherlands", "Month": "Sept." }]] ''' df = pd.read_json[event_data, orient='columns'] print[df]
Làm cách nào để đọc tệp JSON bằng Python?
Xem video này trên YouTube
Đoạn mã này định nghĩa một chuỗi JSON, sau đó chuyển nó tới
import pandas as pd import json8 làm đối số. Sau đó,
import pandas as pd import json5 được đặt thành
import pandas as pd import json6 để cho hàm biết loại dữ liệu nào sẽ xảy ra. Cuối cùng, đầu ra từ DataFrame kết quả
import pandas as pd import json7 được gửi đến thiết bị đầu cuối
đầu ra
IDMuseumQuốc giaTháng01Bảo tàng Hoàng gia OntarioCanadaTháng 612Bảo tàng LouvrePhápTháng 723Bảo tàng lịch sử ĐứcĐứcTháng 8. 34Bảo tàng AmsterdamHà LanTháng 9💡 Lưu ý. Đối số
import pandas as pd import json5 có một số tùy chọn khả dụng. Chúng tôi khuyên bạn nên dành thời gian để làm quen
Phương pháp 2. Sử dụng json_normalize[] và json. loading[] để chuyển đổi chuỗi JSON thành DataFrame
Ví dụ này đọc trong Danh sách từ điển bằng cách sử dụng phương pháp
import pandas as pd import json7 và
import pandas as pd import json6
import pandas as pd import json0
Đoạn mã này định nghĩa một chuỗi JSON, sau đó chuyển nó tới
import pandas as pd import json8 làm đối số. Sau đó,
import pandas as pd import json6 lấy dữ liệu này, làm phẳng và chuyển đổi nó thành DataFrame. Cuối cùng, đầu ra từ DataFrame kết quả
import pandas as pd import json7 được gửi đến thiết bị đầu cuối
đầu ra
IDMuseumQuốc giaTháng01Bảo tàng Hoàng gia OntarioCanadaTháng 612Bảo tàng LouvrePhápTháng 723Bảo tàng lịch sử ĐứcĐứcTháng 8. 34Bảo tàng AmsterdamHà LanTháng 9Phương pháp 3. Sử dụng read_json[] để chuyển đổi sang DataFrame
Ví dụ này sử dụng
import pandas as pd import json8 để đọc trong tệp JSON bao gồm Từ điển Từ điển
Nội dung tệp [
event_data = ''' [ { "ID": "1", "Museum": "Royal Ontario Museum", "Country": "Canada", "Month": "June"}, { "ID": "2", "Museum": "The Louvre", "Country": "France", "Month": "July" }, { "ID": "2", "Museum": "German Historical Museum", "Country": "Germany", "Month": "Aug." }, { "ID": "4", "Museum": "Amsterdam Museum", "Country": "Netherlands", "Month": "Sept." }]] ''' df = pd.read_json[event_data, orient='columns'] print[df]5]
import pandas as pd import json3____14
Mã này đọc trong Từ điển Từ điển từ tệp JSON được lưu trong thư mục làm việc hiện tại. Đầu ra được chuyển đổi thành DataFrame và xuất ra thiết bị đầu cuối
đầu ra
IDMuseumQuốc giaTháng01Bảo tàng Hoàng gia OntarioCanadaTháng 612Bảo tàng LouvrePhápTháng 723Bảo tàng lịch sử ĐứcĐứcTháng 8. 34Bảo tàng AmsterdamHà LanTháng 9Bản tóm tắt
Ba [3] phương pháp này để chuyển đổi JSON thành DataFrame sẽ cung cấp cho bạn đủ thông tin để chọn phương pháp tốt nhất cho các yêu cầu viết mã của bạn