Làm cách nào để chuyển đổi nhiều tệp JSON thành CSV bằng Python?

Chuyển đổi JSON sang CSV bằng gấu trúc trong python?

JSON là viết tắt của JavaScript Object Notation được sử dụng để lưu trữ và truyền dữ liệu giữa hai ứng dụng. Để sử dụng JSON trong python, bạn phải sử dụng Python hỗ trợ JSON thông qua gói tích hợp có tên là JSON. Để sử dụng tính năng này, chúng tôi nhập gói JSON trong tập lệnh Python. Văn bản trong 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.
 

CSV là viết tắt của Giá trị được phân tách bằng dấu phẩy được sử dụng để lưu trữ dữ liệu dạng bảng ở định dạng văn bản. Mỗi dòng của tệp là một hàng bao gồm một số trường và mỗi trường được phân tách bằng bất kỳ dấu phân cách nào. Đây là một định dạng rất phổ biến trong ngành để trao đổi dữ liệu giữa hai tổ chức hoặc các nhóm khác nhau trong cùng một tổ chức

Sau đây là các bước chi tiết liên quan đến việc chuyển đổi JSON sang CSV trong gấu trúc. Trong bài viết này, tôi sẽ đề cập đến các bước này với một số ví dụ

  1. Tạo một tệp JSON
  2. Cài đặt gấu trúc
  3. Tải JSON vào DataFrame của gấu trúc
  4. Áp dụng bất kỳ chuyển đổi nào bạn muốn
  5. Chuyển đổi tệp JSON sang tệp CSV

Ví dụ nhanh về Chuyển đổi JSON sang CSV

Sau đây là các ví dụ nhanh về cách chuyển đổi chuỗi hoặc tệp JSON thành tệp CSV


# Convert JSON File to CSV File
# pandas read JSON File
df = pd.read_json['courses_data.json']
df.to_csv['courses.csv']


# Convert JSON String to CSV File
# Read json from String
json_str = '{"Courses":{"r1":"Spark"},"Fee":{"r1":"25000"},"Duration":{"r1":"50 Days"}}'
df = pd.read_json[json_str]
df.to_csv['courses.csv']

Bây giờ, hãy làm theo các bước được chỉ định ở trên để chuyển đổi JSON thành tệp CSV bằng thư viện gấu trúc python

1. Tạo một tệp JSON

Trước tiên, hãy tạo một tệp JSON mà bạn muốn chuyển đổi thành tệp CSV. gấu trúc theo mặc định hỗ trợ JSON trong một dòng hoặc nhiều dòng. Tệp sau đây chứa JSON ở định dạng giống như Dict

Tệp JSON

Tìm tệp JSON này tại GitHub. Trong trường hợp bạn muốn sử dụng chuỗi JSON, hãy sử dụng bên dưới


# Read json from String
json_str = '{"Courses":{"r1":"Spark"},"Fee":{"r1":"25000"},"Duration":{"r1":"50 Days"}}'

2. Cài đặt gấu trúc

Nếu bạn không có gấu trúc trên hệ thống của mình, hãy cài đặt gấu trúc python bằng cách sử dụng lệnh pip. bỏ qua bước này. Nếu bạn đã cài đặt gấu trúc


# Install pandas using pip
pip install pandas
[or]
pip3 install pandas

3. Tải tệp JSON

Bạn có thể biểu diễn dữ liệu theo nhiều cách JSON, tôi đã viết một bài viết đầy đủ về cách đọc tệp JSON vào DataFrame với một số loại JSON

Trong ví dụ dưới đây, tôi đang tải JSON từ một tệp studies_data. tập tin json


# pandas read JSON File
df = pd.read_json['courses_data.json']
print[df]

# Outputs
#  Courses    Fee Duration
#0   Spark  25000  50 Days
#1  Pandas  20000  35 Days
#2    Java  15000 

Để đọc JSON từ một biến chuỗi


# Read json from String
json_str = '{"Courses":{"r1":"Spark"},"Fee":{"r1":"25000"},"Duration":{"r1":"50 Days"}}'
df = pd.read_json[json_str]
print[df]

# Outputs
#   Courses    Fee Duration
#r1   Spark  25000  50 Days

4. Áp dụng chuyển đổi

Đây là một bước tùy chọn. Trong các ứng dụng thời gian thực, chúng tôi thường được yêu cầu chuyển đổi dữ liệu và ghi kết quả DataFrame vào tệp CSV

Việc chuyển đổi có thể là thay đổi dữ liệu trên DataFrame được tạo từ JSON chẳng hạn, thay thế NaN bằng chuỗi, thay thế trống bằng NaN, chuyển đổi giá trị này sang giá trị khác. t. c

5. Chuyển đổi JSON sang CSV

Bây giờ hãy viết DataFrame của gấu trúc thành tệp CSV, với tệp này, chúng tôi đã chuyển đổi tệp JSON thành tệp CSV


# Write DataFrame to CSV file
df.to_csv[]

6. Hoàn thành ví dụ


import pandas as pd
# Convert JSON File to CSV File
# pandas read JSON File
df = pd.read_json['courses_data.json']
df.to_csv['courses.csv']


# Convert JSON String to CSV File
# Read json from String
json_str = '{"Courses":{"r1":"Spark"},"Fee":{"r1":"25000"},"Duration":{"r1":"50 Days"}}'
df = pd.read_json[json_str]
df.to_csv['courses.csv']

Phần kết luận

Trong bài viết này, bạn đã học các bước về cách chuyển đổi JSON sang CSV trong pandas bằng thư viện pandas. các bước bao gồm cài đặt gấu trúc, tải tệp JSON, áp dụng các phép biến đổi [tùy chọn] và cuối cùng là chuyển đổi thành tệp CSV

Tôi có một số mã sẽ lấy một loạt tệp JSON, phân tích cú pháp và chuyển đổi chúng thành csv. Tôi đã làm cho nó hoạt động bằng cách lấy một số tệp JSON [đầu ra chạy trên dấu nhắc lệnh] nhưng tôi không thể tìm ra cách làm cho nó in tệp csv cho mỗi tệp JSON đã cho mà nó bắt đầu bằng

Vì vậy, đây là những gì tôi có. Hiện tại, nó chỉ hoạt động tốt với một tệp tại một thời điểm nhưng vì tôi có hàng trăm tệp nên cần phải tự động hóa nhiều hơn để tôi có thể xử lý hàng loạt

Tất cả sự giúp đỡ được đánh giá rất cao. Những nỗ lực của tôi để đưa ra đề xuất của người khác về điều này đã không hiệu quả. /

Chủ Đề