Cách tạo tệp JSON trong Python
Để tạo tệp json bằng Python, hãy sử dụng hàm open[]. Hàm open[] lấy tên tệp và chế độ làm đối số. Nếu tệp không có ở đó, thì nó sẽ được tạo
Python With Statement được sử dụng để mở tệp. Bạn nên sử dụng câu lệnh with để làm việc với các tệp vì nó đảm bảo rằng các bộ mô tả tệp đang mở sẽ tự động được đóng lại sau khi quá trình thực thi chương trình rời khỏi ngữ cảnh của câu lệnh with
# app.py import json with open['new_file.json', 'w'] as f: print["The json file is created"]
Trong mã này, chúng tôi đang cố mở một tệp có tên new_file. json với chế độ w. Tuy nhiên, tệp không tồn tại trong hệ thống tệp, tạo một tệp mới trong cùng một thư mục
Tạo tệp json từ tệp json hiện có trong Python
Để tạo tệp json từ tệp json hiện có, hãy mở tệp hiện có ở chế độ đọc và đọc nội dung của tệp đó, đồng thời sử dụng câu lệnh open[] và with ở chế độ ghi và kết xuất dữ liệu json sang tệp json mới
Giả sử chúng ta có dữ liệu. json tệp hiện có
{ "data": [ { "color": "red", "value": "#f00" }, { "color": "green", "value": "#0f0" }, { "color": "blue", "value": "#00f" }, { "color": "black", "value": "#000" } ] }
Bây giờ, chúng ta sẽ tạo một tệp json mới từ dữ liệu này. tập tin json
# app.py import json with open['data.json'] as f: data = json.load[f] with open['new_file.json', 'w'] as f: json.dump[data, f, indent=2] print["New json file is created from data.json file"]
đầu ra
python3 app.py New json file is created from data.json file
Vì vậy, về cơ bản, chúng tôi đang đọc tệp json hiện có và tạo một tệp json mới và kết xuất nội dung vào tệp mới này
Phần kết luận
Sử dụng trình quản lý ngữ cảnh của Python, bạn có thể tạo tệp json và mở tệp đó ở chế độ ghi. Các tệp JSON thuận tiện kết thúc bằng một. phần mở rộng json
Để làm việc với các tệp json trong Python
- Nhập gói json
- Để đọc dữ liệu, sử dụng hàm load[] hoặc loading[]
- Sau đó, bạn xử lý dữ liệu
- Để thay đổi dữ liệu, hãy sử dụng hàm dump[] hoặc dumps[]
Điều này không phải lúc nào cũng đúng, nhưng có thể bạn sẽ làm theo các bước sau
Đó là để tạo một tệp json trong Python
Bài viết trước Cách cài đặt Visual Studio Code trên máy Mac
Bài viết tiếp theo PHP Array Pop. Cách xóa phần tử mảng trong PHP
kranal
https. //appdividend. com/
Krunal Lathiya là Kỹ sư phần mềm với hơn tám năm kinh nghiệm. Anh ấy đã phát triển một nền tảng vững chắc về các nguyên tắc khoa học máy tính và niềm đam mê giải quyết vấn đề. Ngoài ra, Krunal có kiến thức tuyệt vời về Khoa học dữ liệu và Học máy, đồng thời là chuyên gia về Ngôn ngữ Python. Krunal có kinh nghiệm với nhiều ngôn ngữ lập trình và công nghệ khác nhau, bao gồm PHP, R, Golang và JavaScript. Anh ấy cảm thấy thoải mái khi làm việc trong lĩnh vực phát triển front-end và back-end
Để cập nhật một đối tượng JSON trong một tệp, hãy nhập thư viện
# app.py import json with open['data.json'] as f: data = json.load[f] with open['new_file.json', 'w'] as f: json.dump[data, f, indent=2] print["New json file is created from data.json file"]2, đọc tệp bằng
# app.py import json with open['data.json'] as f: data = json.load[f] with open['new_file.json', 'w'] as f: json.dump[data, f, indent=2] print["New json file is created from data.json file"]3], thêm mục mới vào danh sách hoặc cấu trúc dữ liệu từ điển
# app.py import json with open['data.json'] as f: data = json.load[f] with open['new_file.json', 'w'] as f: json.dump[data, f, indent=2] print["New json file is created from data.json file"]4 và viết đối tượng JSON được cập nhật bằng
# app.py import json with open['data.json'] as f: data = json.load[f] with open['new_file.json', 'w'] as f: json.dump[data, f, indent=2] print["New json file is created from data.json file"]5
Đặc biệt, đây là bốn bước cụ thể để cập nhật tệp JSON hiện có bằng một mục nhập mới
- Nhập thư viện
# app.py import json with open['data.json'] as f: data = json.load[f] with open['new_file.json', 'w'] as f: json.dump[data, f, indent=2] print["New json file is created from data.json file"]
2 vớiimport json filename = 'your_file.json' entry = {'carl': 33} # 1. Read file contents with open[filename, "r"] as file: data = json.load[file] # 2. Update json object data.append[entry] # 3. Write json file with open[filename, "w"] as file: json.dump[data, file]
0 - Đọc tệp JSON trong cấu trúc dữ liệu bằng cách sử dụng
import json filename = 'your_file.json' entry = {'carl': 33} # 1. Read file contents with open[filename, "r"] as file: data = json.load[file] # 2. Update json object data.append[entry] # 3. Write json file with open[filename, "w"] as file: json.dump[data, file]
1 sau khi mở tệp bằngimport json filename = 'your_file.json' entry = {'carl': 33} # 1. Read file contents with open[filename, "r"] as file: data = json.load[file] # 2. Update json object data.append[entry] # 3. Write json file with open[filename, "w"] as file: json.dump[data, file]
2 ở chế độ đọcimport json filename = 'your_file.json' entry = {'carl': 33} # 1. Read file contents with open[filename, "r"] as file: data = json.load[file] # 2. Update json object data.append[entry] # 3. Write json file with open[filename, "w"] as file: json.dump[data, file]
3. Tại thời điểm này, bạn có dữ liệu JSON trong mã Python của mình dưới dạng từ điển hoặc danh sách [tùy thuộc vào cách dữ liệu của bạn trông như thế nào—xem bảng chuyển đổi bên dưới] - Cập nhật cấu trúc dữ liệu Python với mục nhập mới [e. g. , một từ điển mới để thêm vào danh sách]
- Viết JSON
# app.py import json with open['data.json'] as f: data = json.load[f] with open['new_file.json', 'w'] as f: json.dump[data, f, indent=2] print["New json file is created from data.json file"]
4 đã cập nhật trở lại tệp JSON bằng cách sử dụng# app.py import json with open['data.json'] as f: data = json.load[f] with open['new_file.json', 'w'] as f: json.dump[data, f, indent=2] print["New json file is created from data.json file"]
5 sau khi mở tệp ở chế độ ghi bằng cách sử dụngimport json filename = 'your_file.json' entry = {'carl': 33} # 1. Read file contents with open[filename, "r"] as file: data = json.load[file] # 2. Update json object data.append[entry] # 3. Write json file with open[filename, "w"] as file: json.dump[data, file]
6
import json filename = 'your_file.json' entry = {'carl': 33} # 1. Read file contents with open[filename, "r"] as file: data = json.load[file] # 2. Update json object data.append[entry] # 3. Write json file with open[filename, "w"] as file: json.dump[data, file]
Trên thực tế, khi sử dụng phương thức
import json filename = 'your_file.json' entry = {'carl': 33} # 1. Read file contents with open[filename, "r"] as file: data = json.load[file] # 2. Update json object data.append[entry] # 3. Write json file with open[filename, "w"] as file: json.dump[data, file]7, đối tượng Python trả về được chuyển đổi từ định dạng JSON bằng cách sử dụngJSONPythonobjectdictarrayliststringstrnumber [int]intnumber [real]floattrueTruefalseFalsenullNone
Để hiểu rõ hơn về các cấu trúc dữ liệu quan trọng nhất, chẳng hạn như từ điển Python, bạn có thể muốn xem Học viện Khoa học Máy tính Finxter
Hướng dẫn cơ bản về từ điển trong Python
Khóa học miễn phí cho tất cả các thành viên cao cấp của Finxter
Phương pháp 2. Chỉ mở tệp một lần bằng cách đặt lại con trỏ tệp
Thay vì mở đối tượng tệp hai lần, bạn chỉ có thể mở tệp một lần và đặt lại con trỏ tệp bằng cách sử dụng
import json filename = 'your_file.json' entry = {'carl': 33} # 1. Read file contents with open[filename, "r"] as file: data = json.load[file] # 2. Update json object data.append[entry] # 3. Write json file with open[filename, "w"] as file: json.dump[data, file]8 để ghi đè lên nội dung tệp hiện có bằng bốn bước sau
- Sử dụng
import json filename = 'your_file.json' entry = {'carl': 33} # 1. Read file contents with open[filename, "r"] as file: data = json.load[file] # 2. Update json object data.append[entry] # 3. Write json file with open[filename, "w"] as file: json.dump[data, file]
9 để tạo đối tượng{ "data": [ { "color": "red", "value": "#f00" }, { "color": "green", "value": "#0f0" }, { "color": "blue", "value": "#00f" }, { "color": "black", "value": "#000" } ] }
30 ở chế độ đọc và ghi{ "data": [ { "color": "red", "value": "#f00" }, { "color": "green", "value": "#0f0" }, { "color": "blue", "value": "#00f" }, { "color": "black", "value": "#000" } ] }
31 - Gọi
{ "data": [ { "color": "red", "value": "#f00" }, { "color": "green", "value": "#0f0" }, { "color": "blue", "value": "#00f" }, { "color": "black", "value": "#000" } ] }
32 để tải dữ liệu từ tệp trong mã Python của bạn. Bây giờ, bạn có thể cập nhật dữ liệu trong mã Python của mình. Ví dụ: nếu tệp JSON của bạn được cấu trúc dưới dạng danh sách từ điển, chỉ cần nối thêm một từ điển mới - Sử dụng
import json filename = 'your_file.json' entry = {'carl': 33} # 1. Read file contents with open[filename, "r"] as file: data = json.load[file] # 2. Update json object data.append[entry] # 3. Write json file with open[filename, "w"] as file: json.dump[data, file]
8 để đặt lại con trỏ tệp về vị trí 0, vì vậy bạn có thể ghi đè lên nó thay vì nối lại toàn bộ đối tượng JSON - Gọi
# app.py import json with open['data.json'] as f: data = json.load[f] with open['new_file.json', 'w'] as f: json.dump[data, f, indent=2] print["New json file is created from data.json file"]
5 để ghi đè lên{ "data": [ { "color": "red", "value": "#f00" }, { "color": "green", "value": "#0f0" }, { "color": "blue", "value": "#00f" }, { "color": "black", "value": "#000" } ] }
30 bằng# app.py import json with open['data.json'] as f: data = json.load[f] with open['new_file.json', 'w'] as f: json.dump[data, f, indent=2] print["New json file is created from data.json file"]
4
Đây là mã cụ thể
{ "data": [ { "color": "red", "value": "#f00" }, { "color": "green", "value": "#0f0" }, { "color": "blue", "value": "#00f" }, { "color": "black", "value": "#000" } ] }3
Phương pháp 3. Tạo một tệp JSON ban đầu và cập nhật nó sau đó
Nếu bạn chưa có tệp JSON, trước tiên bạn có thể tạo tệp từ danh sách ban đầu như sau
{ "data": [ { "color": "red", "value": "#f00" }, { "color": "green", "value": "#0f0" }, { "color": "blue", "value": "#00f" }, { "color": "black", "value": "#000" } ] }9
Tóm tắt và Thảo luận
Cả ba phương pháp được trình bày trong bài viết này về cơ bản đều sử dụng cùng một ý tưởng. gọi
{ "data": [ { "color": "red", "value": "#f00" }, { "color": "green", "value": "#0f0" }, { "color": "blue", "value": "#00f" }, { "color": "black", "value": "#000" } ] }37] để cập nhật tệp có một số dữ liệu. Biến dữ liệu có thể chứa tất cả các định dạng JSON khác nhau, chẳng hạn như danh sách từ điển hoặc từ điển
Nếu trước tiên bạn cần tải dữ liệu từ tệp, hãy sử dụng
{ "data": [ { "color": "red", "value": "#f00" }, { "color": "green", "value": "#0f0" }, { "color": "blue", "value": "#00f" }, { "color": "black", "value": "#000" } ] }32 trên đối tượng tệp được mở ở chế độ đọc
Nói chung, việc thêm dữ liệu vào tệp JSON không phải là một ý tưởng hay vì đối với mỗi bản cập nhật nhỏ, bạn phải đọc và phân tích toàn bộ đối tượng tệp. Nếu tệp JSON của bạn có n mục, thì độ phức tạp thời gian chạy của việc cập nhật nó là O[n]
Cách tiếp cận tốt hơn là lưu trữ dữ liệu dưới dạng tệp CSV có thể được đọc từng dòng để đơn giản hóa việc phân tích cú pháp và cập nhật đáng kể bằng cách chỉ thêm một dòng vào tệp có độ phức tạp thời gian chạy không đổi
Cảm ơn bạn đã nghiên cứu bài viết này, vui lòng xem khóa học cheat sheet Python miễn phí của tôi để luôn nhạy bén và cải thiện kỹ năng Python của bạn liên tục, từng ngày. 🙂
Bạn có thể đăng ký miễn phí tại đây
lập trình viên
Chris
Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính
Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners [NoStarch 2020], đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới
Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây