Python hỗ trợ JSON thông qua gói tích hợp có tên là json. CSV [Các giá trị được phân tách bằng dấu phẩy] là định dạng tệp đơn giản được sử dụng để lưu trữ dữ liệu dạng bảng, chẳng hạn như cơ sở dữ liệu hoặc bảng tính.
Python JSON sang CSV
Để chuyển đổi JSON thành CSV bằng Python, hãy sử dụng hàm pandas to_csv[]. to_csv[] là một chức năng thư viện Pandas ghi các đối tượng vào tệp giá trị được phân tách bằng dấu phẩy [csv]
Bước đầu tiên để chuyển đổi json thành csv là đọc dữ liệu json bằng hàm Pandas read_json[] và sau đó chuyển đổi nó thành csv bằng hàm to_csv[]
Để sử dụng json trong Python, chúng ta phải nhập gói json trong tập lệnh Python. Văn bản JSON được thực hiện thông qua chuỗi trích dẫn, chứa giá trị trong ánh xạ khóa-giá trị trong { }. Nó tương tự như Từ điển trong Python
Tệp CSV lưu trữ dữ liệu dạng bảng [số và văn bản] ở dạng văn bản thuần túy. Mỗi dòng của tệp là bản ghi dữ liệu. Mỗi bản ghi bao gồm một hoặc nhiều trường, được phân tách bằng dấu phẩy. Dấu phẩy làm dấu tách trường là nguồn gốc của tên cho định dạng tệp này
Bây giờ, chúng ta cần chuyển đổi Chuỗi JSON của Python sang định dạng CSV. Vì vậy, chúng ta cần xử lý tệp json bên ngoài
Kịch bản này thường được sử dụng trong phát triển web, trong đó dữ liệu từ máy chủ luôn được gửi ở định dạng JSON. Khi đó chúng ta cần chuyển dữ liệu đó sang định dạng CSV để người dùng có thể phân tích dữ liệu nhanh chóng
Trong trường hợp của chúng tôi, không có máy chủ. Vì vậy, chúng tôi phải tạo một tệp json tĩnh với một số dữ liệu. Sau đó, chúng tôi đọc tệp đó, lấy dữ liệu và chuyển đổi nó thành định dạng CSV bằng các bước sau
Các bước để chuyển đổi JSON của Python sang CSV
- Thu thập dữ liệu JSON
- Đọc dữ liệu bằng hàm read_json[] và biến nó thành đối tượng Pandas
- Chuyển đổi đối tượng Pandas thành CSV bằng hàm to_csv[]
Bước 1. Nhận dữ liệu JSON
Giả sử chúng ta có một tệp tên là export. json. Nội dung của tệp như sau. Bạn có thể sao chép nội dung sau và tạo tệp json của mình. Hãy đặt tên cho nó là xuất khẩu. tệp json.
{ "0": { "Netflix": "Stranger Things", "Quibi": "Most Dangerous Game" }, "1": { "Netflix": "Money Heist", "Quibi": "The Stranger" }, "2": { "Netflix": "House of Cards", "Quibi": "50 States of Fright" }, "3": { "Netflix": "Rick and Morty", "Quibi": "Flipped" }, "4": { "Netflix": "Better Call Saul", "Quibi": "Survival" } }
Đây là nội dung của tệp và chúng tôi sẽ chuyển đổi nó thành CSV
Trong tệp trên, bạn có thể thấy rằng các khóa được lập chỉ mục. Điều đó có nghĩa là khi chúng tôi chuyển đổi nó thành đối tượng gấu trúc, chỉ mục sẽ là 0, 1, 2, 3, 4 và các cột tiêu đề sẽ là Netflix và Quibi
Bước 2. Đọc json và biến nó thành đối tượng Pandas
Pandas read_json[] là một hàm tích hợp giúp chuyển đổi chuỗi JSON thành đối tượng pandas. Phân tích cú pháp Bộ dữ liệu JSON bằng pandas thuận tiện hơn nhiều. Pandas cho phép bạn chuyển đổi danh sách thành DataFrame và chỉ định riêng tên cột
Trình phân tích cú pháp JSON chuyển đổi văn bản JSON thành một biểu diễn khác và phải chấp nhận tất cả các văn bản tuân theo ngữ pháp JSON
Tôi giả sử việc xuất khẩu. json nằm trong cùng thư mục với tệp mã hóa của bạn. Vì vậy, đường dẫn của bạn chỉ là một tên tệp. Sử dụng đoạn mã sau, hãy chuyển đổi chuỗi JSON thành đối tượng Pandas
# app.py import pandas as pd pdObj = pd.read_json['export.json', orient='index'] print[pdObj]
đầu ra
python3 app.py Netflix Quibi 0 Stranger Things Most Dangerous Game 1 Money Heist The Stranger 2 House of Cards 50 States of Fright 3 Rick and Morty Flipped 4 Better Call Saul Survival
Trong đoạn mã trên, chúng ta đã chuyển orient=’index’
Phương hướng là một dấu hiệu của định dạng chuỗi JSON dự kiến. Các chuỗi JSON tương thích có thể được tạo bởi to_json[] với giá trị định hướng tương ứng. Tập hợp các hướng có thể là
- 'tách ra'. dict như {chỉ mục -> [chỉ mục], cột -> [cột], dữ liệu -> [giá trị]}
- 'Hồ sơ'. danh sách như [{cột -> giá trị}, … , {cột -> giá trị}]
- 'mục lục'. dict như {chỉ mục -> {cột -> giá trị}}
- 'cột'. dict như {cột -> {chỉ mục -> giá trị}}
- 'giá trị'. chỉ mảng giá trị
Từ đầu ra, chúng ta có thể nói rằng chúng ta đã chuyển đổi chuỗi json thành đối tượng Pandas
Bước 3. Chuyển đối tượng Pandas sang CSV
Hãy chuyển đổi đối tượng Pandas thành dữ liệu CSV và in nó trong bảng điều khiển
# app.py import pandas as pd pdObj = pd.read_json['export.json', orient='index'] csvData = pdObj.to_csv[index=False] print[csvData]
đầu ra
python3 app.py Netflix,Quibi Stranger Things,Most Dangerous Game Money Heist,The Stranger House of Cards,50 States of Fright Rick and Morty,Flipped Better Call Saul,Survival
Chúng tôi đã tắt chỉ mục vì chúng tôi không cần chỉ mục trong dữ liệu CSV
Ở đây, chúng tôi đã in dữ liệu CSV. Chúng tôi cũng có thể xuất dữ liệu CSV tại đây. Chúng tôi cần cung cấp đường dẫn xuất để tạo tệp CSV. Chúng tôi đang xuất trong cùng thư mục với tệp xuất. tập tin json.
# app.py import pandas as pd pdObj = pd.read_json['export.json', orient='index'] pdObj.to_csv['streaming.csv', index=False]
Trong trường hợp này, chúng tôi không cần trả lại bất kỳ dữ liệu nào vì chúng tôi đang xuất tệp. Vì vậy, đó là lý do tại sao giá trị trả về ở đây là Không có
Tên tập tin đã xuất là streaming. csv, trong cùng thư mục với tệp xuất. tập tin json. Nội dung của tập tin như sau
# streaming.csv Netflix,Quibi Stranger Things,Most Dangerous Game Money Heist,The Stranger House of Cards,50 States of Fright Rick and Morty,Flipped Better Call Saul,Survival
Hãy nhớ lại mọi thứ ở đây
Ở bước đầu tiên, chúng tôi đã chuẩn bị tệp JSON
Chúng tôi đã sử dụng hàm read_json[] trong bước thứ hai để chuyển đổi nó thành đối tượng Pandas
Ở bước cuối cùng, chúng ta cần sử dụng hàm Pandas to_csv[] để chuyển đổi đối tượng Pandas thành dữ liệu CSV hoặc xuất thành tệp
Phần kết luận
Làm việc với bộ dữ liệu JSON lớn có thể xấu đi, chủ yếu là khi chúng quá lớn để vừa với bộ nhớ
Trong những trường hợp như thế này, thư viện Pandas có thể tạo ra một cách hiệu quả để khám phá và phân tích dữ liệu. Hơn nữa, chúng tôi có thể chuyển đổi hầu hết mọi loại dữ liệu tiêu chuẩn sang bất kỳ loại dữ liệu nào khác bằng thư viện Pandas
Đó là nó cho hướng dẫn này
Bài viết trước Hình dạng mảng khó hiểu. Hướng dẫn đầy đủ
Bài viết tiếp theo np. sắp xếp. Cách sử dụng numpy arange[] trong Python
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