Nhóm dữ liệu JSON theo giá trị Python

Tôi có danh sách python chứa từ điển được ghép nối bởi khóa “tên” và “lớp” để biểu thị dữ liệu sinh viên. Tôi cần hiển thị tất cả các nhóm dữ liệu bằng phím “class”

Đây là dữ liệu

students = [
    {'name': 'alex','class': 'A'},
    {'name': 'richard','class': 'A'},
    {'name': 'john','class': 'C'},
    {'name': 'harry','class': 'B'},
    {'name': 'rudolf','class': 'B'},
    {'name': 'charlie','class': 'E'},
    {'name': 'budi','class': 'C'},
    {'name': 'gabriel','class': 'B'},
    {'name': 'dessy', 'class': 'B'}
]

Python đã có sẵn một chức năng thú vị được gọi là để giải quyết loại vấn đề này

Trước khi chúng tôi nhóm dữ liệu, chúng tôi phải sắp xếp dữ liệu của mình theo khóa. Bạn có thể tham khảo bài viết trước của tôi về cách sắp xếp từ điển theo khóa

Để nhóm dữ liệu JSON, bạn cần trích xuất tất cả các khóa và sử dụng hàm push[]. Sau đây là mã -

Ví dụ

var details=
{
   "1":
   {
      name:"John"
   },
   "2":
   {
      name:"John"
   },
   "3":
   {
      name:"David"
   }
   var objectWithGroupByName = {};
   for [var key in details]{
      var name = details[key].name;
   if [!objectWithGroupByName[name]]{
      objectWithGroupByName[name] = [];
   }
   objectWithGroupByName[name].push[details[key]];
}
console.log[objectWithGroupByName];

Để chạy chương trình trên, bạn cần sử dụng lệnh sau -

node fileName.js.

đầu ra

Ở đây, tên tệp của tôi là demo122. js. Điều này sẽ tạo ra đầu ra sau -

PS C:\Users\Amit\JavaScript-code> node demo122.js
{
   John: [ { name: 'John' }, { name: 'John' } ],
   David: [ { name: 'David' } ]
}

Tôi có Khung dữ liệu Pandas

nút        x      y      z

0        1   0. 0000  0. 000   0. 0000

1        2   0. 0000  9. 144   0. 0000

2        3  19. 5072  0. 000   0. 0000

3        4  19. 5072  9. 144   0. 0000

4        5   9. 7536  0. 000   0. 0000

     .       .     .      

175    176  19. 5072  9. 144  27. 7368

176    177  19. 5072  9. 144  25. 7556

177    178  19. 5072  9. 144  21. 7932

178    179  19. 5072  9. 144  19. 8120

179    180  19. 5072  9. 144  17. 8308

Chuyển đổi sang JSON

{

"điểm giao". {

"1". {

"x". 0,

"y". 0,

"z". 0

},

"2". {

"x". 0,

"y". 9. 144,

"z". 0

},

"3". {

"x". 19. 5072,

"y". 0,

"z". 0

},

"4". {

"x". 19. 5072,

"y". 9. 144,

"z". 0

},

"5". {

"x". 9. 7536,

"y". 0,

"z". 0

},

},

}

Tôi mới bắt đầu sử dụng con trăn. Sau Google, tôi đã thử

ra = df. to_json[orient = 'hồ sơ']

in [json. bãi [json. tải [ra], thụt lề = 4]]

đầu ra là

{

"điểm giao". 1,

"x". 0. 0,

"y". 0. 0,

"z". 0. 0

},

{

"điểm giao". 2,

"x". 0. 0,

"y". 9. 144,

"z". 0. 0

},

{

"điểm giao". 3,

"x". 19. 5072,

"y". 0. 0,

"z". 0. 0

},

JSON [Ký hiệu đối tượng Javascript] là định dạng dữ liệu mà con người có thể đọc được, được thiết kế để dễ dàng xử lý trong Javascript. Một kiểu dữ liệu quan trọng trong JSON là mảng JSON, tương tự như mảng Javascript nhưng không được xác định trực tiếp trong tiêu chuẩn Javascript

Mảng JSON là một phần của tiêu chuẩn JSON, khác với tiêu chuẩn Javascript. Sự khác biệt chính giữa mảng JSON và mảng Javascript là mảng JSON luôn tĩnh, trong khi mảng Javascript là mảng động

Trong bài viết này, chúng tôi định nghĩa mảng JSON là gì và chúng khác với mảng Javascript như thế nào. Hai cấu trúc dữ liệu tương tự nhau, vì vậy điều quan trọng là phải hiểu sự khác biệt trong cách chúng được sử dụng

Tổng quan về mảng JSON

Mảng JSON nhóm các loại dữ liệu JSON hợp lệ lại với nhau. Mảng JSON có thể chứa bất kỳ loại dữ liệu JSON hợp lệ nào và cũng có thể chứa các giá trị trùng lặp. Bài viết này đề cập đến các loại dữ liệu hợp lệ trong phần tiếp theo

Xác định các mảng JSON bằng cách bao quanh danh sách các loại dữ liệu JSON có dấu ngoặc vuông. Phân tách mọi giá trị trong mảng JSON bằng dấu phẩy. Bạn có thể sử dụng bất kỳ khoảng trắng nào bạn muốn, kể cả các ký tự xuống dòng, để phân tách các giá trị

Các mảng JSON sau đây là tương đương

["A", "B", "C", "D"]

[
    "A", "B",
    "C", "D"
]

Kiểu dữ liệu mảng JSON

Mảng JSON có thể chứa thông tin trong sáu loại dữ liệu cơ bản

  • Chuỗi. Không hoặc nhiều ký tự Unicode được bao quanh bởi dấu ngoặc kép
  • Con số. Số nguyên hoặc số thập phân. Nó có thể được ký, có thể chứa một phần phân số và có thể sử dụng ký hiệu hàm mũ E
  • Boolean. Giá trị true hoặc false, được chỉ định bởi từ khóa true hoặc false
  • Vô giá trị. Một giá trị trống, được chỉ định bởi từ khóa null
  • Vật. Bộ sưu tập các cặp khóa-giá trị. Các đối tượng được khai báo với dấu ngoặc nhọn. Các khóa và giá trị được phân tách bằng dấu hai chấm, trong khi các cặp khóa-giá trị được phân tách bằng dấu phẩy. Mỗi khóa trong một đối tượng phải là duy nhất
  • Mảng. Danh sách được sắp xếp gồm 0 hoặc nhiều phần tử của bất kỳ loại dữ liệu nào, bao gồm giá trị null, đối tượng và bản sao. Mảng được khai báo bằng dấu ngoặc vuông và các phần tử cách nhau bởi dấu phẩy

Mảng JSON lồng nhau

Các mảng JSON có thể chứa các mảng JSON khác bên trong chúng, một kỹ thuật được gọi là “làm tổ. ” Đây là chiến lược chung cho kiến ​​trúc dữ liệu khi tạo lưới hoặc bảng thông tin

// A JSON table containing 3 rows with 4 columns each
[
    ["A", "B", "C", "D"],
    ["E", "F", "G", "H"],
    ["I", "J", "K", "L"]
]

Mỗi cách lồng của một mảng JSON được gọi là một “thứ nguyên. ” Giả sử một mảng có “n” chiều, cách tiêu chuẩn để đề cập đến các mảng JSON lồng nhau là chúng có “n chiều. ”

Ví dụ trước là 2 chiều, nhưng không có giới hạn về số lượng thứ nguyên mà một mảng JSON lồng nhau có thể chứa. Đối với mục đích dễ đọc và bảo trì, cách dễ nhất là hạn chế kích thước thành 3 hoặc ít hơn. Ví dụ 3 chiều sau đây cho thấy các mảng JSON đa chiều có thể trở nên phức tạp như thế nào, ngay cả khi có khoảng cách thụt lề và được thêm vào để dễ đọc

// A JSON 3-dimensional array
[
    [
        ["A", "B", "C", "D"],
        ["E", "F", "G", "H"],
        ["I", "J", "K", "L"]
    ],
    [
        ["1", "2",  "3",  "4" ],
        ["5", "6",  "7",  "8" ],
        ["9", "10", "11", "12"]
    ]
]

Mảng Javascript so với. Mảng JSON

Mảng JSON đơn giản hơn mảng Javascript vì chúng có tập giá trị hạn chế hơn. Các mảng Javascript, vì chúng được tạo động bên trong một chương trình máy tính đang chạy, nên có thể chứa các hàm, tham chiếu và kết quả tính toán. Định dạng dữ liệu tĩnh như JSON không thể thể hiện chính xác những điều này

Vì các mảng JSON là tĩnh, nên bạn không thể truy cập các phần tử khác nhau một cách riêng lẻ theo cách bạn có thể với một mảng Javascript. Mảng JSON là văn bản thuần túy;

Có thể chuyển đổi mảng JSON thành mảng Javascript bằng cách sử dụng JSON. hàm phân tích []. Chuyển đổi theo hướng khác, từ mảng Javascript thành mảng JSON, xảy ra với JSON. hàm stringify[]

Phần kết luận

Các mảng JSON nhóm dữ liệu lại với nhau trong các đối tượng JSON và là một kiểu dữ liệu JSON quan trọng. Chúng có thể được cấu trúc dưới dạng danh sách đơn giản, bảng 2 chiều hoặc mảng đa chiều phức tạp

Mảng JSON chứa ít loại dữ liệu hơn và dữ liệu đơn giản hơn so với mảng Javascript, nhưng bạn có thể chuyển đổi giữa hai loại mảng nếu cần. Vì chúng được xây dựng gần như giống hệt nhau nên việc chuyển đổi rất dễ dàng với JSON. phân tích cú pháp [] và JSON. xâu chuỗi []

Đăng ký tham gia Chương trình cấp bằng cấp nano về lập trình của chúng tôi ngay hôm nay để tìm hiểu thêm về mảng JSON và các khái niệm lập trình khác

Chủ Đề