Hướng dẫn how do you remove spaces from a json file in python? - làm cách nào để xóa khoảng trắng khỏi tệp json trong python?

225

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi vừa nhận ra rằng json.dumps[] thêm khoảng trống vào đối tượng JSON

e.g.

{'duration': '02:55', 'name': 'flower', 'chg': 0}

Làm thế nào có thể loại bỏ các không gian để làm cho JSON nhỏ gọn hơn và lưu byte được gửi qua HTTP?

Như là:

{'duration':'02:55','name':'flower','chg':0}

DREFTYMAC

30.4K26 Huy hiệu vàng116 Huy hiệu bạc178 Huy hiệu đồng26 gold badges116 silver badges178 bronze badges

Đã hỏi ngày 1 tháng 5 năm 2013 lúc 1:42May 1, 2013 at 1:42

Daniele Bdaniele bDaniele B

18.9K23 Huy hiệu vàng107 Huy hiệu bạc165 Huy hiệu Đồng23 gold badges107 silver badges165 bronze badges

1

json.dumps[separators=[',', ':']]

Đã trả lời ngày 1 tháng 5 năm 2013 lúc 1:45May 1, 2013 at 1:45

4

Trong một số trường hợp, bạn có thể muốn loại bỏ các không gian trắng. Sau đó bạn có thể sử dụngtrailing whitespaces only. You can then use

json.dumps[separators=[',', ': ']]

Có một không gian sau : nhưng không phải sau ,.

Điều này rất hữu ích cho việc khác nhau các tệp JSON của bạn [trong điều khiển phiên bản như

{'duration':'02:55','name':'flower','chg':0}
0], trong đó một số biên tập viên sẽ loại bỏ khoảng trắng kéo dài nhưng Python Json.dump sẽ thêm nó trở lại.

Lưu ý: Điều này không trả lời chính xác câu hỏi trên đầu, nhưng tôi đã đến đây để tìm câu trả lời này cụ thể. Tôi không nghĩ rằng nó xứng đáng với QA của riêng mình, vì vậy tôi đang thêm nó ở đây.

Đã trả lời ngày 26 tháng 1 năm 2016 lúc 12:14Jan 26, 2016 at 12:14

0

Mã hóa nhỏ gọn:

import json

list_1 = [1, 2, 3, {'4': 5, '6': 7}]

json.dumps[list_1, separators=[',', ':']]

print[list_1]
[1,2,3,{"4":5,"6":7}]

Đã trả lời ngày 6 tháng 11 năm 2020 lúc 8:08Nov 6, 2020 at 8:08

EkremusekremusEkremus

1391 Huy hiệu bạc4 Huy hiệu đồng1 silver badge4 bronze badges

Remove-White-Spaces-Json-File-Python

Mục đích của mã này là gì

Mã này được sử dụng để loại bỏ các không gian trắng trong tệp JSON theo chương trình. Trong tệp này, dữ liệu từ tệp JSON được tải và được chuyển đến chức năng Recursibe sẽ loại bỏ các không gian trắng khỏi chuỗi. Để hiểu cách xóa các không gian trắng khỏi tệp JSON, chúng ta cần hiểu cấu trúc của tệp JSON có chứa danh sách, từ điển cũng như chuỗi.

Hiểu cấu trúc của tệp JSON

Vui lòng xem hình ảnh dưới đây để hiểu cấu trúc của tệp JSON được sử dụng trong mã nàybelow image to understand the structure of the JSON file used in this code

Những gì đạt được trong mã

Trước hết mã được chia thành ba phần. 1.] Loại bỏ các không gian trắng khỏi chuỗi 2.] Tìm danh sách và xóa các không gian trắng khỏi danh sách. 3.] Tìm từ điển đã đóng gói danh sách và chuỗi bên trong nó dưới dạng khóa và giá trị và loại bỏ các không gian trắng khỏi nó.
1.] Removing white spaces from the string
2.] Find the list and removing the white spaces from the list.
3.] Find the dictionary which has packed the list and string inside it in form of key and value and removes white spaces from it.

Cách chạy mã này

Mã này được thực hiện trong môi trường Python và có phần mở rộng .Py. Tệp này có thể được thực thi bởi tập lệnh sau.

python3 dictionary_file.py

Những gì đạt được sau khi thực hiện mã

Sau khi chạy tệp, bạn sẽ nhận được đầu ra tệp.json là tệp được lọc ở định dạng JSON.

Permalink

Không thể lấy lại những người đóng góp tại thời điểm này

Tệp này chứa văn bản unicode hai chiều có thể được giải thích hoặc biên dịch khác với những gì xuất hiện dưới đây. Để xem xét, hãy mở tệp trong một trình soạn thảo cho thấy các ký tự Unicode ẩn. Tìm hiểu thêm về các ký tự unicode hai chiều

Nhập khẩu json
withopen ['intent.json', 'r'] asObject_1: open['intents.json', 'r'] as object_1:
data = json.load [object_1] = json.load[object_1]
In ["Dữ liệu trong tệp JSON được tải:"]["Data in the json file is loaded:"]
in [dữ liệu][data]
#Đây là ví dụ về hàm đệ quy
defstrip_recursive [x]: strip_recursive[x]:
ifisInstance [x, str]: isinstance[x, str]:
# Chức năng của chức năng dải
# Chức năng dải được sử dụng để loại bỏ cả hai không gian trắng dẫn đầu và đường mòn khỏi chuỗi
# Nếu không có tham số nào được thông qua thì chỉ bị loại bỏ và không gian trắng dẫn đầu
returnx.strip [] x.strip[]
ElifisInstance [X, Danh sách]: isinstance[x, list]:
trả về [dải_recursive [v] forvinx] [strip_recursive[v] for v in x]
Elifisinstance [X, Dict]: isinstance[x, dict]:
returnDict [[Strip_Recursive [A], Strip_Recursive [b]] cho [a, b] inx.items []] dict [[strip_recursive[a], strip_recursive[b]]for [a, b] in x.items[]]
returnx x
Chức năng #Calling
output = strip_recursive [dữ liệu] = strip_recursive[data]
#Điều này là đầu ra được lọc
in ["\ n"]["\n"]
In ["Đầu ra được lọc sau khi hoạt động đệ quy trên dữ liệu:"]["Filtered output after recursive operation on Data:"]
in [đầu ra][output]
#Lưu tệp mới
withopen ['output.json', 'w'] ASFP: open['output.json', 'w'] as fp:
json.dump [đầu ra, fp, thụt lề = 4, sort_keys = true].dump[output, fp, indent=4, sort_keys=True]

Làm thế nào để bạn xóa khoảng trống khỏi tệp JSON?

Đầu tiên, loại bỏ các không gian dẫn đầu và dấu vết khỏi khóa bằng cách sử dụng hàm trim []. Hủy bỏ tất cả các không gian, dòng newline hoặc tab có trong khóa bằng hàm thay thế [] và thêm chữ "_" giữa từ của khóa thay vì khoảng trắng.remove the leading and trailing spaces from the key using trim[] function. Remove all the spaces, newline or tab present in the key using replace[] function and add underscore "_" between the word of the key instead of whitespace.

Làm thế nào để bạn xóa một tập tin JSON trong Python?

Để xóa một đối tượng JSON khỏi danh sách: phân tích đối tượng JSON vào danh sách từ điển python.Sử dụng hàm liệt kê [] để lặp qua lần lặp qua danh sách.Kiểm tra xem mỗi từ điển có phải là phương thức bạn muốn xóa và sử dụng phương thức pop [] để xóa dicting phù hợp không.Parse the JSON object into a Python list of dictionaries. Use the enumerate[] function to iterate over the iterate over the list. Check if each dictionary is the one you want to remove and use the pop[] method to remove the matching dict.

Làm thế nào để JSON xử lý không gian trong chuỗi?

Khoảng trắng [không gian, tab ngang, nguồn cấp dữ liệu hoặc dòng mới hoặc vận chuyển trở lại] không quan trọng trong JSON.Nó cũng có thể được thu nhỏ mà không có ảnh hưởng đến dữ liệu.Đối tượng Tên theo nghĩa đen phải là chữ thường [tức là - null, sai, đúng, v.v.].Giữ tất cả các cặp tên và giá trị trong báo giá cho AVIOD.. It can also be minified with no affect to the data. Object literal names MUST be lowercase [ie – null, false, true etc]. Keep all name and value pairs in quotes to aviod.

Dấu tách JSON là gì?

JSON có cú pháp sau.Các đối tượng được đặt trong niềng răng [{}], các cặp giá trị tên của chúng được phân tách bằng dấu phẩy [,], và tên và giá trị trong một cặp được phân tách bằng dấu hai chấm [:].Tên trong một đối tượng là các chuỗi, trong khi các giá trị có thể thuộc bất kỳ loại nào trong bảy loại giá trị, bao gồm một đối tượng hoặc một mảng khác.Objects are enclosed in braces [ {} ], their name-value pairs are separated by a comma [ , ], and the name and value in a pair are separated by a colon [ : ]. Names in an object are strings, whereas values may be of any of the seven value types, including another object or an array.

Bài Viết Liên Quan

Chủ Đề