Một dự án cho lớp liên quan đến việc phân tích cú pháp dữ liệu JSON JSON. Tôi đang nhận dữ liệu và đặt nó vào tệp mà không gặp nhiều rắc rối, nhưng tất cả đều nằm trong một dòng. Điều này là tốt cho thao tác dữ liệu mà tôi đang cố gắng thực hiện, nhưng tệp này khó đọc và tôi không thể kiểm tra nó rất tốt, làm cho việc viết mã cho phần thao tác dữ liệu rất khó khăn.Cần phải in dữ liệu JSON của Twitter vào một tệp bằng cách sử dụng Python
Có ai biết cách thực hiện điều đó từ bên trong Python (tức là không sử dụng công cụ dòng lệnh mà tôi không thể làm việc) không? Dưới đây là mã của tôi cho đến nay:
header, output = client.request(twitterRequest, method="GET", body=None,
headers=None, force_auth_header=True)
# now write output to a file
twitterDataFile = open("twitterData.json", "wb")
# magic happens here to make it pretty-printed
twitterDataFile.write(output)
twitterDataFile.close()
Note Tôi đánh giá cao những người đã chỉ cho tôi để simplejson tài liệu và như vậy, nhưng như tôi đã nói, tôi đã nhìn thấy và tiếp tục cần sự giúp đỡ. Câu trả lời thực sự hữu ích sẽ chi tiết hơn và giải thích hơn các ví dụ được tìm thấy ở đó. Cảm ơn
Ngoài ra: Cố gắng này trong cửa sổ dòng lệnh:
more twitterData.json | python -mjson.tool > twitterData-pretty.json
kết quả trong việc này:
Invalid control character at: line 1 column 65535 (char 65535)
tôi muốn cung cấp cho bạn các dữ liệu Tôi đang sử dụng, nhưng nó rất lớn và bạn đã thấy mã tôi đã sử dụng để tạo tệp.
Tôi nghi ngờ bạn thực sự muốn ghi dữ liệu nhị phân ("wb") – Hamish
Tôi đã được dạy điều này là cần thiết cho máy Windows và do đó đến nay đã làm việc cho tất cả các bài tập của tôi. Nếu bạn có thể cung cấp tài liệu về lý do tại sao điều này có thể không chính xác, tôi rất vui khi xem xét nó. – Zelbinian
Chỉ cần thiết nếu bạn đang làm việc với các tệp nhị phân hoặc các trường hợp khác mà hình thức cụ thể của dòng kết thúc (ví dụ: '\ r \ n' so với' \ n') là quan trọng. Xem http://stackoverflow.com/questions/3257869/difference-between-binary-and-text-i-o-in-python-on-windows.Trong trường hợp của bạn, bạn muốn cửa sổ dòng kết thúc thân thiện, nhưng bạn có thể không nhận được rằng từ điểm cuối twitter, vì vậy bạn nên mở trong chế độ văn bản. – Hamish