mengkonversi CSV / XLS ke JSON? [Tutup]

142

Adakah yang tahu jika ada aplikasi yang akan membiarkan saya mengonversi XLS ke JSON?

Saya juga akan menerima konverter dari CSV karena itulah yang saya mungkin akhirnya harus menulis sendiri jika tidak ada apa-apa di sekitar.

mkoryak
sumber
Bagaimana struktur XLS? Apakah Anda menganggap bahwa baris pertama adalah tajuk kolom?
SheetJS
CsvCruncher mengambil CSV sebagai tabel SQL dan membiarkan Anda melakukan SELECT, mengekspor hasilnya sebagai CSV atau JSON. github.com/OndraZizka/csv-cruncher
Ondra Žižka
Ini dapat dengan mudah dilakukan menggunakan panda dataframe. Impor csv Anda ke bingkai data panda dan rahasia ke json.
R4444
1
Saya sarankan Anda melihat Transformer Data (penafian - saya pengembangnya). Itu mengkonversi antara CSV, JSON, XML, dan YML secara lokal. Ini menawarkan sejumlah pengaturan konversi (dengan standar yang baik) sehingga Anda dapat menyesuaikan hasilnya untuk tujuan Anda. Anda bisa mendapatkannya dari Mac App Store atau Microsoft Store .
Geo Systems

Jawaban:

77

Ini berfungsi dengan baik untuk saya dan TIDAK memerlukan unggahan file:

https://github.com/cparker15/csv-to-json?files=1

zmonteca
sumber
Jika Anda ingin mengonversi ke teks yang dapat Anda tempelkan dalam kode Anda, gunakan opsi "Actionscript".
Steve O'Connor
Sayangnya situs web ini rusak
Mazen Kasser
3
Sepertinya sumbernya ada di GIT: github.com/cparker15/csv-to-json?files=1
zmonteca
@zmonteca Memperbarui jawaban dengan tautan Anda
robertc
Terima kasih, ini berhasil. Anda hanya perlu memperbarui dependensi proyek ini, jika tidak gagal untuk menjalankan
hd84335
195

Anda dapat mencoba alat yang saya buat ini:

Tn. Data Converter

Itu mengkonversi ke JSON, XML dan lainnya.

Ini semua sisi klien juga, jadi data Anda tidak pernah meninggalkan komputer Anda.

Shan Carter
sumber
terlihat menarik, sakit kembali ke ini ketika saya membutuhkannya lagi
mkoryak
6
Tidak apa-apa tapi waspadai itu tidak luput dari kutipan dengan benar. Ketika CSV Anda berisi tanda kutip ganda, hasilnya tidak akan keluar. Anda mungkin harus melakukannya dengan tangan. Alat yang sangat berguna nontheless.
barrycarton
Alat hebat! dilakukan dengan baik. @barrycarton sepertinya ini sudah diperbaiki jika Anda menarik kode terbaru dari Github. Yang ada di tautan di atas sepertinya sudah ketinggalan zaman.
Bach
Hai @ Shan Carter Saya ingin pengguna hanya memuat file excel, Tidak menyalin konten excel, Apakah mungkin dengan kode saat ini atau saya harus memotongnya (Jika mungkin untuk melakukannya). Silakan bagikan pemikiran Anda.
Rahul Gautam
1
Alat luar biasa, @Shan Carter. Saya mengambil kebebasan untuk memperbaiki beberapa hal di garpu saya di sini: thdoan.github.io/mr-data-converter
thdoan
38

Karena Powershell 3.0 (dikirimkan bersama Windows 8, tersedia untuk Windows 7 dan windows Server 2008 tetapi tidak untuk Windows Vista) Anda dapat menggunakan commandlet convertto-json bawaan:

PS E:> $topicsjson = import-csv .\itinerary-all.csv | ConvertTo-Json 

PS E:\> $topicsjson.Length
11909

PS E:\> $topicsjson.getType()

IsPublic IsSerial Name                                     BaseType                  
-------- -------- ----                                     --------                  
True     True     Object[]                                 System.Array              

Halaman Bantuan Online di Technet

knb
sumber
7
Kredit ekstra: simpan json ke file ... $ topikjson | Tambah-Konten -Path "mydata.json"
brady321
28

Jika Anda tidak dapat menemukan solusi yang ada, cukup mudah untuk membangun yang dasar di Jawa. Saya hanya menulis satu untuk klien dan hanya butuh beberapa jam termasuk alat riset.

Apache POI akan membaca biner Excel. http://poi.apache.org/

JSONObject akan membangun JSON

Setelah itu hanya masalah iterasi melalui baris dalam data Excel dan membangun struktur JSON. Berikut beberapa kode semu untuk penggunaan dasar.

FileInputStream inp = new FileInputStream( file );
Workbook workbook = WorkbookFactory.create( inp );

// Get the first Sheet.
Sheet sheet = workbook.getSheetAt( 0 );

    // Start constructing JSON.
    JSONObject json = new JSONObject();

    // Iterate through the rows.
    JSONArray rows = new JSONArray();
    for ( Iterator<Row> rowsIT = sheet.rowIterator(); rowsIT.hasNext(); )
    {
        Row row = rowsIT.next();
        JSONObject jRow = new JSONObject();

        // Iterate through the cells.
        JSONArray cells = new JSONArray();
        for ( Iterator<Cell> cellsIT = row.cellIterator(); cellsIT.hasNext(); )
        {
            Cell cell = cellsIT.next();
            cells.put( cell.getStringCellValue() );
        }
        jRow.put( "cell", cells );
        rows.put( jRow );
    }

    // Create the JSON.
    json.put( "rows", rows );

// Get the JSON text.
return json.toString();
Matt York
sumber
Jika saya memiliki excel disimpan di E: /exceloutput.xlsx. Apa yang akan menjadi nilai dalam file dan inp di dua baris pertama?
Kate
11

Ini berfungsi untuk saya dan menjalankan sisi klien: http://www.convertcsv.com/csv-to-json.htm

dataman
sumber
1
Terima kasih atas sarannya :) Konverter berfungsi dengan baik.
Nekto
1
Yang ini termasuk pembatas tab, sehingga Anda bisa menempel langsung dari Excel.
Arlen Beiler
6

Saya baru saja menemukan ini:

http://tamlyn.org/tools/csv2json/

(Catatan: Anda harus memiliki file csv Anda tersedia melalui alamat web)

DanDan
sumber
1
Layanan ini membutuhkan tombol unggah.
neoneye
2
webnya turun
Fai Zal Dong
Tautan tidak berfungsi
Aditya
6

Cobalah alat kecil mungil ini:

http://keyangxiang.com/csvtojson/

Ini menggunakan modul csvtojson node.js

Keyang
sumber
Itu tidak hidup lagi.
gm2008
Tautan terbaru. Itu harus bekerja.
Keyang
Ada di GitHub . Ini adalah alat yang paling fleksibel. Saya ingin cara membuat array atau objek bersarang menggunakan CSV ( contoh ).
Michael McGinnis
5

Tidak ada solusi yang ada yang berfungsi, jadi saya dengan cepat meretas sebuah skrip yang akan melakukan pekerjaan itu. Juga mengonversi string kosong menjadi nol dan dan memisahkan baris header untuk JSON. Mungkin perlu disetel tergantung pada dialek CSV dan charset yang Anda miliki.

#!/usr/bin/python
import csv, json
csvreader = csv.reader(open('data.csv', 'rb'), delimiter='\t', quotechar='"')
data = []
for row in csvreader:
    r = []
    for field in row:
        if field == '': field = None
        else: field = unicode(field, 'ISO-8859-1')
        r.append(field)
    data.append(r)
jsonStruct = {
    'header': data[0],
    'data': data[1:]
}
open('data.json', 'wb').write(json.dumps(jsonStruct))
Tronic
sumber
Apakah ini terkait dengan johntron.com/creations/csv-to-json
David
Tidak, kecuali bahwa perpustakaan yang sama (csv, json) sedang digunakan. Saya menulis kode saya dari awal. Loop diperlukan untuk pemrosesan yang ingin saya lakukan (konversi charset dan mengganti string kosong dengan nol).
Tronic
Saya bertanya-tanya tentang konflik antara banyak komentar yang mengatakan "ini bekerja untuk saya" dan yang ini mengklaim bahwa "tidak ada solusi yang ada yang berhasil."
B. Clay Shannon
4

Alih-alih konverter hard-coded, bagaimana dengan dukungan CSV untuk Jackson (prosesor JSON): https://github.com/FasterXML/jackson-dataformat-csv . Jadi inti Jackson dapat membaca JSON sebagai POJO, Maps JsonNode,, hampir apa saja. Dan dukungan CSV dapat melakukan hal yang sama dengan CSV. Kombinasikan keduanya dan itu sangat kuat tetapi konverter sederhana antara banyak format (ada backend untuk XML, YAML sudah, dan banyak lagi yang ditambahkan).

Artikel yang menunjukkan cara melakukan ini dapat ditemukan di sini .

StaxMan
sumber
3

Lihat apakah ini membantu: Kembali ke CSV - Konversikan teks CSV ke Objek; melalui JSON

Ini adalah posting blog yang diterbitkan pada November 2008 yang mencakup kode C # untuk memberikan solusi.

Dari intro di posting blog:

Karena Json lebih mudah untuk membaca dan menulis, maka Xml. Oleh karena itu CSV (comma separated values) lebih mudah dibaca dan ditulis daripada Json. CSV juga memiliki alat seperti Excel dan lainnya yang membuatnya mudah untuk dikerjakan dan dibuat. Jadi jika Anda ingin membuat file konfigurasi atau data untuk aplikasi Anda berikutnya, berikut adalah beberapa kode untuk mengonversi CSV ke JSON menjadi objek POCO

qxotk
sumber
1
Terima kasih. sakit harus port ini ke java, tetapi lebih baik daripada mencoba untuk menemukan kembali roda
mkoryak
senang itu bekerja, c # -> java adalah pasangan yang cukup bagus.
qxotk