Lưu tệp JSON Python

Tại sao nó không hoạt động? . Nếu bạn muốn lưu một tập hợp ở định dạng JSON, bạn phải chọn một trong các loại được hỗ trợ bởi JSON. một mảng hoặc một đối tượng JSON

Bây giờ, hãy tiếp tục. Giả sử chúng tôi muốn lưu dữ liệu của mình vào một tệp. Không vấn đề gì – chúng tôi chỉ cần sử dụng hàm json.dump[]. [Ghi chú. Đó là dump không có

{
        "name":"tux",
        "health":"23",
        "level":"4"
}

0. ] Hàm này ghi dữ liệu được chuyển đổi thành biểu diễn JSON của nó vào một tệp. có một cái nhìn

with open['data.json', 'w'] as outfile:
  json.dump[data, outfile]

Hãy nhớ rằng,

{
        "name":"tux",
        "health":"23",
        "level":"4"
}

1 chuyển đổi dữ liệu đã cho thành một chuỗi. Hàm json.dump[] ghi dữ liệu đó vào một tệp được chỉ định

Định dạng JSON giúp bạn không phải tạo định dạng dữ liệu của riêng mình và đặc biệt dễ học nếu bạn đã biết Python. Đây là cách sử dụng nó với Python

Qua

Seth Kenlon [Đội, Mũ đỏ]

Ngày 16 tháng 7 năm 2019 . 1 Nhận xét . %t phút đọc

Đăng ký hoặc Đăng nhập để thích

Hình ảnh của

Jason Baker. CC BY-SA 4. 0

JSON là viết tắt của Ký hiệu đối tượng JavaScript. Định dạng này là một phương pháp phổ biến để lưu trữ dữ liệu theo cách sắp xếp khóa-giá trị để có thể phân tích cú pháp dễ dàng sau này. Tuy nhiên, đừng để cái tên đánh lừa bạn. Bạn có thể sử dụng JSON trong Python—không chỉ JavaScript—như một cách dễ dàng để lưu trữ dữ liệu và bài viết này trình bày cách bắt đầu

Trước tiên, hãy xem đoạn mã JSON đơn giản này

{
        "name":"tux",
        "health":"23",
        "level":"4"
}

Đó là JSON thuần túy và chưa bị thay đổi đối với Python hoặc bất kỳ ngôn ngữ nào khác. Tuy nhiên, nếu bạn đã quen thuộc với Python, bạn có thể nhận thấy rằng mã JSON ví dụ này trông rất giống một từ điển Python. Trên thực tế, cả hai rất giống nhau. Nếu bạn cảm thấy thoải mái với các danh sách và từ điển Python, thì JSON rất phù hợp với bạn

Lưu trữ dữ liệu ở định dạng JSON

Bạn có thể cân nhắc sử dụng JSON nếu ứng dụng của bạn cần lưu trữ dữ liệu hơi phức tạp. Mặc dù trước đây bạn có thể đã sử dụng các tệp cấu hình văn bản tùy chỉnh hoặc định dạng dữ liệu, JSON cung cấp cho bạn bộ nhớ đệ quy, có cấu trúc và mô-đun JSON của Python cung cấp tất cả các thư viện phân tích cú pháp cần thiết để đưa dữ liệu này vào và ra khỏi ứng dụng của bạn. Vì vậy, bạn không phải tự viết mã phân tích cú pháp và các lập trình viên khác không phải giải mã định dạng dữ liệu mới khi tương tác với ứng dụng của bạn. Vì lý do này, JSON rất dễ sử dụng và phổ biến

Đây là một số mã Python mẫu sử dụng từ điển trong từ điển

#!/usr/bin/env python3

import json

# instantiate an empty dict
team = {}

# add a team member
team['tux'] = {'health': 23, 'level': 4}
team['beastie'] = {'health': 13, 'level': 6}
team['konqi'] = {'health': 18, 'level': 7}

Thêm tài nguyên Python

  • IDE là gì?
  • bảng ăn gian. Trăn 3. 7 cho người mới bắt đầu
  • Khung GUI Python hàng đầu
  • Tải xuống. 7 thư viện PyPI thiết yếu
  • Nhà phát triển mũ đỏ
  • Nội dung Python mới nhất

Mã này tạo một từ điển Python có tên là đội. Ban đầu nó trống [bạn có thể tạo một từ đã được điền sẵn, nhưng điều đó là không thể nếu bạn chưa có dữ liệu để đưa vào từ điển]

Để thêm vào đối tượng dict, bạn tạo một khóa, chẳng hạn như tux, beastie hoặc konqi trong mã ví dụ, sau đó cung cấp một giá trị. Trong trường hợp này, giá trị là một từ điển khác chứa đầy số liệu thống kê của người chơi

Từ điển có thể thay đổi. Bạn có thể thêm, xóa và cập nhật dữ liệu mà chúng chứa bao nhiêu lần tùy thích. Định dạng này là nơi lưu trữ lý tưởng cho dữ liệu mà ứng dụng của bạn thường xuyên sử dụng

Lưu dữ liệu ở định dạng JSON

Nếu dữ liệu bạn đang lưu trữ trong từ điển của mình là dữ liệu người dùng cần được duy trì sau khi ứng dụng thoát, thì bạn phải ghi dữ liệu vào một tệp trên đĩa. Đây là nơi mô-đun JSON Python xuất hiện

with open['mydata.json', 'w'] as f:
    json.dump[team, f]

Khối mã này tạo một tệp có tên mydata. json và mở nó ở chế độ ghi. Tệp được biểu diễn bằng biến f [một ký hiệu hoàn toàn tùy ý; bạn có thể sử dụng bất kỳ tên biến nào bạn thích, chẳng hạn như tệp, TẬP TIN, đầu ra hoặc bất kỳ thứ gì trên thực tế]. Trong khi đó, chức năng kết xuất của mô-đun JSON được sử dụng để kết xuất dữ liệu từ dict vào tệp dữ liệu

Việc lưu dữ liệu từ ứng dụng của bạn cũng đơn giản như vậy và phần hay nhất của việc này là dữ liệu được cấu trúc và có thể dự đoán được. Để xem, hãy xem tệp kết quả

$ cat mydata.json
{"tux": {"health": 23, "level": 4}, "beastie": {"health": 13, "level": 6}, "konqi": {"health": 18, "level": 7}}

Đọc dữ liệu từ tệp JSON

Nếu bạn đang lưu dữ liệu sang định dạng JSON, có lẽ cuối cùng bạn muốn đọc lại dữ liệu vào Python. Để làm điều này, hãy sử dụng json của mô-đun Python JSON. chức năng tải

#!/usr/bin/env python3

import json

f = open['mydata.json']
team = json.load[f]

print[team['tux']]
print[team['tux']['health']]
print[team['tux']['level']]

print[team['beastie']]
print[team['beastie']['health']]
print[team['beastie']['level']]

# when finished, close the file
f.close[]

Chức năng này thực hiện ngược lại, nhiều hơn hoặc ít hơn, lưu tệp. một biến tùy ý [f] đại diện cho tệp dữ liệu, sau đó hàm tải của mô-đun JSON kết xuất dữ liệu từ tệp vào biến nhóm tùy ý

Các câu lệnh in trong mẫu mã minh họa cách sử dụng dữ liệu. Có thể khó hiểu khi kết hợp khóa dict với khóa dict, nhưng miễn là bạn đã quen thuộc với tập dữ liệu của riêng mình hoặc nếu không thì có thể đọc nguồn JSON để có bản đồ tinh thần về nó, logic sẽ hợp lý

Tất nhiên, các câu lệnh in không cần phải được mã hóa cứng. Bạn có thể viết lại ứng dụng mẫu bằng vòng lặp for

for i in team.values[]:
    print[i]

Sử dụng JSON

Như bạn có thể thấy, JSON tích hợp tốt một cách đáng ngạc nhiên với Python, vì vậy đây là một định dạng tuyệt vời khi dữ liệu của bạn phù hợp với mô hình của nó. JSON rất linh hoạt và đơn giản để sử dụng và về cơ bản, học một cái này có nghĩa là bạn đang học cái kia, vì vậy, hãy xem xét nó để lưu trữ dữ liệu vào lần tiếp theo khi bạn làm việc trên một ứng dụng Python

Đọc gì tiếp theo

Thẻ

con trăn

Seth Kenlon

Seth Kenlon là một người đam mê UNIX, người ủng hộ văn hóa tự do, nghệ sĩ đa phương tiện độc lập và mọt sách D&D. Anh ấy đã làm việc trong ngành công nghiệp điện ảnh và máy tính, thường là cùng một lúc

Thêm về tôi

1 bình luận

Những bình luận này đã bị đóng, tuy nhiên bạn có thể Đăng ký hoặc Đăng nhập để đăng bình luận về một bài viết khác

Yedidyah Bar David. 23 Tháng Bảy, 2019

Đăng ký hoặc Đăng nhập để thích

Bạn cũng có thể muốn kiểm tra mô-đun 'simplejson'. Chúng từng giống hệt nhau, nhưng json được tích hợp vào thư viện chuẩn trong khi Simplejson được duy trì bên ngoài nó, vì vậy giờ đây chúng khác nhau. Nếu bạn tìm kiếm trên mạng về chúng, bạn sẽ tình cờ tìm thấy nhiều so sánh liên quan đến tốc độ [một số phiên bản của một phiên bản nhanh hơn/chậm hơn một số phiên bản của phiên bản kia trong một số thao tác, v.v. ]. Một cân nhắc đặc biệt đối với tôi là Simplejson hỗ trợ nhiều loại hơn, đối với tôi đây là Số thập phân [1] và datetime [2]. Vì tôi không muốn dựa vào thư viện bên ngoài [cũng] không được tích hợp trong EL7, nên tôi quyết định sử dụng json và phải vá mã của mình [1][2] để xử lý chúng theo cách thủ công. Không biết trạng thái hiện tại của cả hai phiên bản mới nhất [json mới nhất trong python3 so với Simplejson mới nhất], nhưng tôi đoán chúng vẫn khác nhau về mặt đó. Vì vậy, nếu bạn có ý định sử dụng chúng với dữ liệu không tầm thường [e. g. mà bạn nhận được từ một lược đồ db phức tạp], hãy kiểm tra và so sánh cả hai, rồi quyết định nên sử dụng cái nào. Hi vọng điêu nay co ich,

Làm cách nào để lưu đối tượng JSON trong Python?

Ghi JSON vào tệp bằng Python với json. .
json. dumps[] - Tuần tự hóa một đối tượng thành chuỗi có định dạng JSON
json. dump[] - Nối tiếp một đối tượng thành luồng JSON để lưu vào tệp hoặc ổ cắm

Làm cách nào để lưu trữ dữ liệu JSON trong Python?

sử dụng json. Chúng tôi sử dụng json. loading[] để phân tích một chuỗi JSON và trả về một đối tượng Python chẳng hạn như từ điển. json. phương thức loading[] lấy nội dung tệp dưới dạng một chuỗi

Làm cách nào để tạo tệp JSON bằng Python?

Trong Python, bạn có thể tạo chuỗi JSON bằng cách chỉ định một chuỗi ký tự JSON hợp lệ cho một biến hoặc chuyển đổi Đối tượng Python thành chuỗi JSON bằng cách sử dụng json. chức năng tải []

Chủ Đề