Cải thiện bài viết
Lưu bài viết
Cải thiện bài viết
Lưu bài viết
Đọc
Function Used:
- Bàn luậnjson.loads[] function is present in python built-in ‘json’ module. This function is used to parse the JSON string.
JSON là viết tắt của ký hiệu đối tượng JavaScript. Điều đó có nghĩa là một tệp tập lệnh [thực thi] được tạo bằng văn bản bằng ngôn ngữ lập trình, được sử dụng để lưu trữ và chuyển dữ liệu. Python hỗ trợ JSON thông qua gói tích hợp có tên JSON. Để sử dụng tính năng này, chúng tôi nhập gói JSON trong tập lệnh Python. Văn bản trong JSON được thực hiện thông qua chuỗi được trích dẫn có chứa giá trị trong ánh xạ giá trị khóa trong {}. Nó tương tự như từ điển trong python.function được sử dụng: & nbsp; json.load[file_name]
Parameter: It takes JSON file as the parameter.
Return type: It returns the python dictionary object.
json.load []: hàm json.loads [] có mặt trong mô-đun python tích hợp ‘json. Hàm này được sử dụng để phân tích chuỗi JSON. & NBSP; Let’s suppose the JSON file looks like this:
Cú pháp: JSON.LOAD [FILE_NAME] Tham số: Nó lấy tệp JSON làm tham số.return loại: nó trả về đối tượng từ điển Python. & Nbsp; & nbsp;
Python3
Ví dụ 1: Hãy giả sử tệp JSON trông như thế này: & nbsp;
with
open
[
datapoints = json1_data['datapoints']
0datapoints = json1_data['datapoints']
1Chúng tôi muốn chuyển đổi nội dung của tệp này thành từ điển Python. Dưới đây là việc thực hiện. & NBSP;
datapoints = json1_data['datapoints']
2datapoints = json1_data['datapoints']
7[
datapoints = json1_data['datapoints']
9[p[0] for p in datapoints[0:5]]
0[p[0] for p in datapoints[0:5]]
1[p[0] for p in datapoints[0:5]]
2datapoints = json1_data['datapoints']
2datapoints = json1_data['datapoints']
7[
[p[0] for p in datapoints[0:5]]
6[p[0] for p in datapoints[0:5]]
7[p[0] for p in datapoints[0:5]]
8[p[0] for p in datapoints[0:5]]
9datapoints = json1_data['datapoints']
2datapoints = json1_data['datapoints']
7[
sum[p[0] for p in datapoints[0:5]]/5. # Result is 35.8
3[p[0] for p in datapoints[0:5]]
7sum[p[0] for p in datapoints[0:5]]/5. # Result is 35.8
5[p[0] for p in datapoints[0:5]]
9import
json
2datapoints = json1_data['datapoints']
3datapoints = json1_data['datapoints']
4 datapoints = json1_data['datapoints']
5 Reading nested data datapoints = json1_data['datapoints']
In the above JSON file, there is a nested dictionary in the first key people1. Below is the implementation of reading nested data.
Python3
Ví dụ 1: Hãy giả sử tệp JSON trông như thế này: & nbsp;
with
open
[
datapoints = json1_data['datapoints']
0datapoints = json1_data['datapoints']
1Chúng tôi muốn chuyển đổi nội dung của tệp này thành từ điển Python. Dưới đây là việc thực hiện. & NBSP;
import
json
datapoints = json1_data['datapoints']
2datapoints = json1_data['datapoints']
7[
import
8import
9datapoints = json1_data['datapoints']
2datapoints = json1_data['datapoints']
3datapoints = json1_data['datapoints']
4 datapoints = json1_data['datapoints']
5json
7
datapoints = json1_data['datapoints']
7[
with
0with
1with
2[p[0] for p in datapoints[0:5]]
9json
7
datapoints = json1_data['datapoints']
7[
with
7with
1with
9[p[0] for p in datapoints[0:5]]
9json
7
datapoints = json1_data['datapoints']
7[
open
4with
1open
6[p[0] for p in datapoints[0:5]]
9json
7
datapoints = json1_data['datapoints']
7[
0import
json
JSON của bạn là một mảng có một đối tượng bên trong, vì vậy khi bạn đọc nó trong bạn, bạn sẽ nhận được một danh sách với một từ điển bên trong. Bạn có thể truy cập từ điển của mình bằng cách truy cập mục 0 trong danh sách, như được hiển thị bên dưới:
json1_data = json.loads[json1_str][0]
Bây giờ bạn có thể truy cập dữ liệu được lưu trữ trong DataPoints giống như bạn đang mong đợi:
datapoints = json1_data['datapoints']
Tôi có thêm một câu hỏi nếu bất cứ ai có thể cắn: Tôi đang cố gắng lấy trung bình của các yếu tố đầu tiên trong các điểm dữ liệu này [nghĩa là DataPoints [0] [0]]. Chỉ cần liệt kê chúng, tôi đã thử thực hiện các DataPoints [0: 5] [0] Nhưng tất cả những gì tôi nhận được là DataPoint đầu tiên với cả hai phần tử trái ngược với việc muốn có được 5 điểm dữ liệu đầu tiên chỉ chứa phần tử đầu tiên. Có cách nào để làm việc này không?
[
1 không làm những gì bạn đang mong đợi. [
2 Trả về một lát danh sách mới chỉ chứa 5 yếu tố đầu tiên, sau đó thêm [
3 vào cuối của nó sẽ chỉ lấy phần tử đầu tiên từ lát danh sách kết quả đó. Những gì bạn cần sử dụng để có được kết quả bạn muốn là một danh sách hiểu:
[p[0] for p in datapoints[0:5]]
Đây là một cách đơn giản để tính toán trung bình:
sum[p[0] for p in datapoints[0:5]]/5. # Result is 35.8
Nếu bạn sẵn sàng cài đặt Numpy, thì điều đó thậm chí còn dễ dàng hơn:
import numpy
json1_file = open['json1']
json1_str = json1_file.read[]
json1_data = json.loads[json1_str][0]
datapoints = numpy.array[json1_data['datapoints']]
avg = datapoints[0:5,0].mean[]
# avg is now 35.8
Sử dụng toán tử [
4 với cú pháp cắt cho các mảng của Numpy có hành vi ban đầu bạn mong đợi với các lát danh sách.