CSV zu JSON-Skript

7

Ich habe dieses Skript von hier genommen:

%Vor%

Als ich es in IDLE versuchte, bekam ich den Fehler

%Vor%

Aber ich habe es versucht

%Vor%

erneut und dann gedruckt

%Vor%

Aber wenn ich versuche, es als Skript auszuführen, funktioniert es nicht, ich bekomme die gleiche Fehlermeldung.

Kann jemand helfen, den Fehler zu beheben?

(Und gibt es gültige JSON aus?)

Danke

Bearbeiten

Danke für die Antworten. Es scheint, dass dies nicht der richtige Weg ist, eine CSV-Datei in das JSON-Format zu konvertieren. Ich versuche nur, die CSV-Datei mit Daten darin zu konvertieren, so dass ich loaddata verwenden kann, um meine SQLite3-Datenbank in Django aufzufüllen. Sehen Sie sich diesen Thread in der django-Gruppe an: Ссылка für den Versuch, das csv2json.py-Snippet zu verwenden. Und noch ein Thread heute in OS (Sorry, ich kann nicht 2 Links aufnehmen). Ich würde eine einfache Möglichkeit der Umwandlung von CSV in JSON schätzen. Oder die Methode, die Sie verwenden, um Ihre Django-Datenbank zu füllen, die ich stattdessen verwenden sollte. Danke für die Hilfe.

    
Zeynel 10.12.2009, 22:02
quelle

5 Antworten

14

Ändern Sie die verschachtelte for -Schleife zu:

%Vor%

und, nein, print out gibt kein gültiges JSON aus - benutze print json.dumps(out) (du musst natürlich auch import json haben - das ist ein Python 2.6 Standard-Bibliotheksmodul, aber du kannst Versionen finden, die mit 2.5 arbeiten wenn das ist was du brauchst).

    
Alex Martelli 10.12.2009, 22:10
quelle
3

Mit dem CSV-Modul haben Sie bereits eine dict reader eingebaut! Hier ist ein Beispielskript, das als Kommandozeilenwerkzeug verwendet werden kann:

%Vor%     
Ryan Q 05.04.2013 21:18
quelle
2
%Vor%     
avoliva 19.04.2013 00:57
quelle
0

Vielleicht versuchen Sie eine leere Zeile am Ende der Datei zu analysieren

%Vor%

Auch csv.DictReader kann tun, was Sie schon wollen

%Vor%     
John La Rooy 10.12.2009 22:08
quelle
0

Da Sie JSON nicht wirklich erstellen, bin ich mir bei der letzten Frage nicht sicher. Sie drucken nur ein Python-Wörterbuch. Sie sind meistens JSON, aber nicht immer.

Du solltest also ein gutes json Modul finden und das verwenden. Wenn Sie Python 2.6 haben: Ссылка

Außerdem hat csv einen Wörterbuchleser, der all dies in viel kürzerer Form und einfacher zu handhaben macht. Ссылка

Bearbeiten.

%Vor%

So etwas funktioniert normalerweise besser.

    
S.Lott 10.12.2009 22:08
quelle

Tags und Links