web-dev-qa-db-ja.com

CSV / XLSをJSONに変換しますか?

できればXLSをJSONに変換できるアプリケーションがあるかどうか、誰でも知っていますか?

また、CSVからのコンバーターについても解決します。何もない場合は、おそらく自分で作成する必要があるからです。

135
mkoryak

これは私にとって完璧に機能し、ファイルのアップロードは必要ありません。

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

75
zmonteca

私が作ったこのツールを試すことができます:

ミスターデータコンバーター

JSON、XMLなどに変換します。

それもすべてクライアント側であるため、データがコンピュータから離れることはありません。

192
Shan Carter

Powershell 3.0(Windows 8に付属 Windows 7およびWindows Server 2008で使用可能 がWindows Vistaでは使用不可)以降、組み込みのconvertto-jsonコマンドレットを使用できます。

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              

Technetのオンラインヘルプページ

33
knb

既存のソリューションが見つからない場合は、Javaで基本的なソリューションを構築するのは非常に簡単です。クライアント用に作成したばかりで、調査ツールを含めて数時間しかかかりませんでした。

Apache POIはExcelバイナリを読み取ります。 http://poi.Apache.org/

JSONObjectはJSONを構築します

その後は、Excelデータの行を繰り返し処理し、JSON構造を構築するだけです。基本的な使用法の擬似コードを次に示します。

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();
26
Matt York

これは私のために機能し、クライアント側を実行します: http://www.convertcsv.com/csv-to-json.htm

12
dataman

私はこれを見つけました:

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

(注:csvファイルはWebアドレス経由で利用可能にする必要があります)

6
DanDan

小さな無料ツールを試してみてください。

http://keyangxiang.com/csvtojson/

Node.jsを利用します csvtojsonモジュール

6
Keyang

既存のソリューションはどれも機能しなかったため、仕事をするスクリプトをすぐにハッキングしました。また、空の文字列をnullに変換し、JSONのヘッダー行を分離します。使用しているCSVの方言と文字セットに応じて調整する必要がある場合があります。

#!/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))
5
Tronic

ハードコーディングされたコンバーターの代わりに、Jackson(JSONプロセッサー)のCSVサポートについてはどうですか: https://github.com/FasterXML/jackson-dataformat-csv 。そのため、Jacksonのコアは、JSONをPOJO、Maps、JsonNodeなど、ほとんど何でも読み込むことができます。また、CSVサポートはCSVでも同じことができます。この2つを組み合わせると、非常に強力ですが、複数の形式間の単純なコンバーターです(XML、YAMLのバックエンドが既にあり、さらに追加されています)。

これを行う方法を示す記事は、 here にあります。

4
StaxMan

これが役立つかどうかを確認してください: CSVに戻る-CSVテキストをオブジェクトに変換; JSON経由

これは、ソリューションを提供するC#コードを含む2008年11月に公開されたブログ投稿です。

ブログ投稿のイントロから:

JsonはXmlを読み書きする方が簡単なので。その結果、CSV(コンマ区切り値)はJsonよりも読み書きが簡単になります。 CSVには、Excelやその他のツールがあり、作業や作成が簡単です。したがって、次のアプリの構成ファイルまたはデータファイルを作成する場合、CSVからJSONをPOCOオブジェクトに変換するコードを次に示します。

3
qxotk