Cara Mengubah JSON ke CSV di Python – Codewithaden

Bentuk lengkap dari Json adalah notasi objek javascript . JSON adalah file skrip yang terbuat dari teks dalam bahasa pemrograman dan digunakan untuk menyimpan dan mentransfer data. Saat Anda bekerja dengan server, maka data JSON bermanfaat. Python mendukung JSON melalui paket bawaan yang disebut json

CSV (nilai yang dipisahkan koma) adalah format file sederhana yang digunakan untuk menyimpan data tabel, seperti basis data atau spreadsheet.

Python Json ke CSV

Untuk mengonversi JSON ke CSV di Python, gunakan fungsi PANDAS TO_CSV (). Itu to_csv () adalah fungsi perpustakaan PANDAS yang menulis objek ke file Nilai-Nilai yang Dipisahkan (CSV). Langkah pertama untuk mengonversi JSON ke CSV adalah membaca data JSON menggunakan fungsi panda read_json () dan kemudian mengonversinya ke CSV menggunakan to_csv () fungsi.

Untuk menggunakan JSON di Python, kita harus mengimpor paket JSON dalam skrip Python. Teks JSON dilakukan melalui string yang dikutip, yang berisi nilai dalam pemetaan nilai kunci di dalam {} . Itu mirip dengan Kamus dalam Python

File CSV menyimpan data tabel (angka dan teks) dalam teks biasa. Setiap baris file adalah catatan data. Setiap catatan terdiri dari satu atau lebih bidang, dipisahkan oleh koma. Koma sebagai pemisah lapangan adalah sumber nama untuk format file ini.

Sekarang, kita perlu mengonversi string Python Json ke format CSV. Jadi, kita perlu berurusan dengan file JSON eksternal. Skenario ini sering digunakan dalam pengembangan web di mana data dari server selalu dikirim dalam format JSON, dan kemudian kita perlu mengonversi data itu dalam format CSV sehingga pengguna dapat dengan cepat menganalisis data.

Dalam kasus kami, tidak ada server. Jadi kita harus membuat file JSON statis dengan beberapa data. Kemudian kita membaca file itu, dapatkan data, dan ubah menjadi format CSV menggunakan langkah -langkah berikut.

Langkah -langkah untuk Mengubah Python Json ke CSV

  1. Kumpulkan data JSON.
  2. Baca data menggunakan fungsi read_json () dan ubah menjadi objek panda.
  3. Konversi objek panda ke csv menggunakan fungsi to_csv ().

Langkah 1: Dapatkan data JSON

Katakanlah kami memiliki file yang dipanggil Export.json

Isi file berikut. Anda dapat menyalin konten berikut dan membuat file JSON Anda. Mari kita beri nama Export.json mengajukan.

{
  "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"
  }
} 

Sekarang, ini adalah konten file, dan kami akan mengubahnya menjadi CSV.

Dalam file di atas, Anda dapat melihat bahwa tombol diindeks. Itu berarti, ketika kita mengubahnya menjadi objek panda, indeksnya akan 0, 1, 2, 3, 4 , dan kolom header akan Netflix dan Quibi.

Langkah 2: Baca JSON dan ubah menjadi objek Pandas

Panda read_json () adalah fungsi inbuilt yang mengubah string JSON ke a panda obyek. Parsing dari dataset JSON menggunakan panda jauh lebih nyaman. PANDAS memungkinkan Anda untuk mengonversi daftar dari Daftar ke DataFrame dan tentukan nama kolom secara terpisah.

Parser JSON mengubah teks JSON menjadi representasi lain harus menerima semua teks yang sesuai dengan tata bahasa JSON.

Saya berasumsi bahwa Export.json File berada di direktori yang sama dengan file pengkodean Anda. Jadi jalan Anda hanyalah nama file. Sekarang, mari kita ubah string JSON ke objek PANDAS menggunakan kode berikut.

# app.py

import pandas as pd

pdObj = pd.read_json('export.json', orient='index')
print(pdObj) 

Keluaran

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 

Dalam kode di atas, kami telah lulus Orient = ’Index’.

Orient adalah indikasi format string JSON yang diharapkan. String JSON yang kompatibel dapat diproduksi oleh TO_JSON () dengan nilai Orient yang sesuai. Himpunan orient yang mungkin adalah:

  1. membelah ‘: Dict like {index -> [index], colom ->

    , data -> [nilai]}

  2. catatan ‘: Daftar seperti [{kolom -> value}, …, {column -> value}]
  3. indeks ‘: Dict like {index -> {column -> value}}
  4. kolom ‘: Dict like {column -> {index -> value}}
  5. nilai ‘: Hanya array nilai

Dari output, kita dapat mengatakan bahwa kita telah mengubah string JSON menjadi objek panda.

Langkah 3: Konversi objek panda ke CSV

Mari kita mengonversi objek panda menjadi data CSV dan mencetaknya di konsol.

# app.py

import pandas as pd

pdObj = pd.read_json('export.json', orient='index')
csvData = pdObj.to_csv(index=False)
print(csvData) 

Keluaran

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 

Kami telah menonaktifkan indeks karena kami tidak memerlukan indeks dalam data CSV.

Di sini, kami telah mencetak data CSV. Kami juga dapat mengekspor data CSV di sini. Kita perlu menyediakan jalur ekspor untuk membuat file CSV untuk melakukannya. Kami mengekspor di direktori yang sama dengan Export.json mengajukan.

# app.py

import pandas as pd

pdObj = pd.read_json('export.json', orient='index')
pdObj.to_csv('streaming.csv', index=False) 

Dalam hal ini, kami tidak perlu mengembalikan data apa pun karena kami mengekspor file. Jadi itulah sebabnya nilai pengembalian di sini Tidak ada

Nama file yang diekspor adalah streaming.csv file, di direktori yang sama dengan Export.json mengajukan. Konten file adalah sebagai berikut.

# 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
 

Mari kita ingat semuanya di sini.

Pada langkah pertama, kami telah menyiapkan file JSON.

Pada langkah kedua, kami telah menggunakan fungsi read_json () untuk mengubahnya menjadi objek panda.

Pada langkah terakhir, kita perlu menggunakan fungsi PANDAS TO_CSV () untuk mengonversi objek PANDAS ke data CSV atau mengekspornya ke dalam file.

Kesimpulan

Bekerja dengan kumpulan data JSON besar dapat memburuk, terutama ketika mereka terlalu besar untuk masuk ke dalam memori. Dalam kasus seperti ini, perpustakaan PANDAS dapat membuat cara yang efisien untuk mengeksplorasi dan menganalisis data. Selain itu, kami dapat mengonversi hampir semua tipe data standar ke tipe data lainnya menggunakan Perpustakaan Pandas

Itu untuk tutorial ini.

Lihat juga

Pandas DataFrame untuk Daftar

PANDAS TO_JSON ()

Filter panda ()

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *