CsvCruncher verwendet CSV als SQL-Tabelle und lässt Sie SELECT ausführen, wobei das Ergebnis als CSV oder JSON exportiert wird. github.com/OndraZizka/csv-cruncher
Ondra Žižka
Dies kann einfach mit dem Pandas-Datenrahmen durchgeführt werden. Importieren Sie Ihre CSV in Pandas Dataframe und verbergen Sie sie in JSON.
R4444
1
Ich würde vorschlagen, dass Sie sich Data Transformer ansehen (Haftungsausschluss - ich bin sein Entwickler). Es konvertiert lokal zwischen CSV, JSON, XML und YML. Es bietet eine Reihe von Konvertierungseinstellungen (mit guten Standardeinstellungen), damit Sie das Ergebnis für Ihre Zwecke anpassen können. Sie können es im Mac App Store oder im Microsoft Store herunterladen .
Geo Systems
Antworten:
76
Dies hat bei mir perfekt funktioniert und erfordert KEINEN Datei-Upload:
sieht interessant aus, ich komme darauf zurück, wenn ich wieder brauche
mkoryak
6
Es ist in Ordnung, aber beachten Sie, dass es Anführungszeichen nicht richtig entgeht. Wenn Ihre CSV doppelte Anführungszeichen enthält, entgeht die Ausgabe nicht. Möglicherweise müssen Sie dies von Hand tun. Trotzdem sehr handliches Werkzeug.
Barrycarton
Tolles Werkzeug! schön gemacht. @barrycarton Es scheint, dass dies behoben wurde, wenn Sie den neuesten Code von Github abrufen. Der unter dem obigen Link scheint veraltet zu sein.
Bach
Hallo @Shan Carter, ich möchte, dass der Benutzer nur die Excel-Datei lädt, den Inhalt von Excel nicht kopiert. Ist dies mit dem aktuellen Code möglich oder sollte ich ihn teilen (wenn dies möglich ist)? Bitte teilen Sie Ihre Gedanken.
Seit Powershell 3.0 ( im Lieferumfang von Windows 8 enthalten, verfügbar für Windows 7 und Windows Server 2008, jedoch nicht für Windows Vista) können Sie das integrierte Befehl "convertto-json" verwenden:
Zusätzliches Guthaben: Speichern Sie Json in einer Datei ... $ topicjson | Add-Content -Path "mydata.json"
brady321
28
Wenn Sie keine vorhandene Lösung finden können, ist es ziemlich einfach, eine einfache Lösung in Java zu erstellen. Ich habe gerade eine für einen Kunden geschrieben und es dauerte nur ein paar Stunden, einschließlich der Recherche nach Tools.
Danach müssen Sie nur noch die Zeilen in den Excel-Daten durchlaufen und eine JSON-Struktur erstellen. Hier ist ein Pseudocode für die grundlegende Verwendung.
FileInputStream inp =newFileInputStream( file );Workbook workbook =WorkbookFactory.create( inp );// Get the first Sheet.Sheet sheet = workbook.getSheetAt(0);// Start constructing JSON.JSONObject json =newJSONObject();// Iterate through the rows.JSONArray rows =newJSONArray();for(Iterator<Row> rowsIT = sheet.rowIterator(); rowsIT.hasNext();){Row row = rowsIT.next();JSONObject jRow =newJSONObject();// Iterate through the cells.JSONArray cells =newJSONArray();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();
Es ist auf GitHub . Dies ist das flexibelste Werkzeug. Ich wollte eine Möglichkeit, verschachtelte Arrays oder Objekte mithilfe von CSV zu erstellen ( Beispiel ).
Michael McGinnis
5
Keine der vorhandenen Lösungen funktionierte, daher habe ich schnell ein Skript gehackt, das die Aufgabe übernehmen würde. Konvertiert auch leere Zeichenfolgen in Nullen und trennt die Kopfzeile für JSON. Je nach verwendetem CSV-Dialekt und Zeichensatz muss möglicherweise eine Anpassung vorgenommen werden.
#!/usr/bin/pythonimport 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 =Noneelse: 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))
Nein, außer dass dieselben Bibliotheken (csv, json) verwendet werden. Ich habe meinen Code von Grund auf neu geschrieben. Die Schleifen werden für die Verarbeitung benötigt, die ich ausführen wollte (Zeichensatzkonvertierung und Ersetzen leerer Zeichenfolgen durch null).
Tronic
Ich wundere mich über den Konflikt zwischen vielen Kommentaren, die besagen, dass "das für mich funktioniert hat" und dem, der behauptet, dass "keine der vorhandenen Lösungen funktioniert hat".
B. Clay Shannon
4
Wie wäre es mit CSV-Unterstützung für Jackson (JSON-Prozessor) anstelle von fest codierten Konvertern: https://github.com/FasterXML/jackson-dataformat-csv . So kann Core Jackson JSON als POJOs, Maps JsonNode, fast alles einlesen . Die CSV-Unterstützung kann mit CSV dasselbe tun. Kombinieren Sie beide und es ist ein sehr leistungsfähiger, aber einfacher Konverter zwischen mehreren Formaten (es gibt bereits Backends für XML, YAML und mehr).
Dies ist ein Blogbeitrag, der im November 2008 veröffentlicht wurde und C # -Code enthält, um eine Lösung bereitzustellen.
Aus dem Intro im Blogbeitrag:
Da ist Json leichter zu lesen und zu schreiben als XML. Daraus folgt, dass CSV (durch Kommas getrennte Werte) leichter zu lesen und zu schreiben ist als Json. CSV verfügt auch über Tools wie Excel und andere, mit denen Sie problemlos arbeiten und erstellen können. Wenn Sie also jemals eine Konfigurations- oder Datendatei für Ihre nächste App erstellen möchten, finden Sie hier einen Code zum Konvertieren von CSV in JSON in POCO-Objekte
Antworten:
Dies hat bei mir perfekt funktioniert und erfordert KEINEN Datei-Upload:
https://github.com/cparker15/csv-to-json?files=1
quelle
Sie können dieses Tool ausprobieren, das ich erstellt habe:
Mr. Data Converter
Es wird in JSON, XML und andere konvertiert.
Es ist auch alles clientseitig, sodass Ihre Daten Ihren Computer niemals verlassen.
quelle
Seit Powershell 3.0 ( im Lieferumfang von Windows 8 enthalten, verfügbar für Windows 7 und Windows Server 2008, jedoch nicht für Windows Vista) können Sie das integrierte Befehl "convertto-json" verwenden:
Online-Hilfeseite zu Technet
quelle
Wenn Sie keine vorhandene Lösung finden können, ist es ziemlich einfach, eine einfache Lösung in Java zu erstellen. Ich habe gerade eine für einen Kunden geschrieben und es dauerte nur ein paar Stunden, einschließlich der Recherche nach Tools.
Apache POI liest die Excel-Binärdatei. http://poi.apache.org/
JSONObject erstellt den JSON
Danach müssen Sie nur noch die Zeilen in den Excel-Daten durchlaufen und eine JSON-Struktur erstellen. Hier ist ein Pseudocode für die grundlegende Verwendung.
quelle
Dies funktioniert für mich und wird clientseitig ausgeführt: http://www.convertcsv.com/csv-to-json.htm
quelle
Ich habe gerade Folgendes gefunden:
http://tamlyn.org/tools/csv2json/
(Hinweis: Sie müssen Ihre CSV-Datei über eine Webadresse verfügbar haben.)
quelle
Probieren Sie das winzige kostenlose Tool aus:
http://keyangxiang.com/csvtojson/
Es verwendet das csvtojson-Modul von node.js.
quelle
Keine der vorhandenen Lösungen funktionierte, daher habe ich schnell ein Skript gehackt, das die Aufgabe übernehmen würde. Konvertiert auch leere Zeichenfolgen in Nullen und trennt die Kopfzeile für JSON. Je nach verwendetem CSV-Dialekt und Zeichensatz muss möglicherweise eine Anpassung vorgenommen werden.
quelle
Wie wäre es mit CSV-Unterstützung für Jackson (JSON-Prozessor) anstelle von fest codierten Konvertern: https://github.com/FasterXML/jackson-dataformat-csv . So kann Core Jackson JSON als POJOs, Maps
JsonNode
, fast alles einlesen . Die CSV-Unterstützung kann mit CSV dasselbe tun. Kombinieren Sie beide und es ist ein sehr leistungsfähiger, aber einfacher Konverter zwischen mehreren Formaten (es gibt bereits Backends für XML, YAML und mehr).Einen Artikel dazu finden Sie hier .
quelle
Überprüfen Sie, ob dies hilfreich ist: Zurück zu CSV - Konvertieren von CSV-Text in Objekte; über JSON
Dies ist ein Blogbeitrag, der im November 2008 veröffentlicht wurde und C # -Code enthält, um eine Lösung bereitzustellen.
Aus dem Intro im Blogbeitrag:
quelle