Hallo,
ich möchte eine csv Datei in eine json Datei konvertieren. Ich habe bisher diesen Code. Mein Problem ist,
dass alles in Zeile kommt.
import csv
import json
# Constants to make everything easier
CSV_PATH = 'C:\\Users\\Continental\\Desktop\\Replace\\Old.csv'
JSON_PATH = 'C:\\Users\\Continental\\Desktop\\Replace\\New.json'
# Reads the file the same way that you did
csv_file = csv.DictReader(open(CSV_PATH, 'r'))
# Created a list and adds the rows to the list
json_list = []
for row in csv_file:
json_list.append(row)
# Writes the json output to the file
open(JSON_PATH, 'w').write(json.dumps(json_list))
Das CSv/Usrprungsformat sieht wie folgt aus:
Peter,Paul
Patrick,Peter
Susi,Strolch
Peter, Paul
Hans,Maria
Paul, Julian
Nach der Konvertierung mit diesem Code sieht es nun so aus:
[["Peter", "Paul"], ["Patrick", "Peter"], ["Susi", "Strolch"], ["Peter", " Paul"], ["Hans", "Maria"], ["Paul", " Julian"]]
Dies entspricht nicht dem json-Format. wie bekomme ich genau die Absätze zwischen den Blöcken, also nach dem Komma außerhalb der eckigen
Klammern ?
CSV zu json
Natuerlich entspricht das deinem Format. Es ist JSON. Das braucht keine neuen Zeilen, um Datensaetze zu trennen, und aus Gruenden der Sparsamkeit fuegt es darum keine Formatierung ein.
Wenn du das willst, kannst du einen Parameter indent an json.dumps uebergeben, mit dem du pretty-printing einschaltest. Naeheres dazu in der Dokumentation.
Wenn du das willst, kannst du einen Parameter indent an json.dumps uebergeben, mit dem du pretty-printing einschaltest. Naeheres dazu in der Dokumentation.
@BaseFloor: Benutze CodeBox, damit man Deinen Code hier im Forum auch lesen kann. Der gezeigte Code führt nicht zum gezeigten Output. Sollte das für die Beantwortung Deiner Frage relevant sein, kann man Dir nicht richtig helfen.
Wo hast Du ein Problem mit dem völlig korrekten JSON-Output?
Wo hast Du ein Problem mit dem völlig korrekten JSON-Output?
@BaseFloor: wie man Parameter übergibt, steht ziemlich am Anfang jedes Tutorials, wenn es darum geht, Funktionen aufzurufen. Wobei `indent` vielleicht auch nicht das Ergebnis liefert, das Du Dir wünschst.
Nochmal:
1. Der Output stimmt nicht mit dem gezeigten Code überein. Was von beidem ist also richtig?
2. Warum benötigst Du JSON mit bestimmten Zeilenumbrüchen?
Nochmal:
1. Der Output stimmt nicht mit dem gezeigten Code überein. Was von beidem ist also richtig?
2. Warum benötigst Du JSON mit bestimmten Zeilenumbrüchen?
Ich behaupte mal, der Code ist eine Abwandlung von
https://stackoverflow.com/questions/381 ... n/38170302
Der englische Kommentar und die etwas sehr kompakte Schreibweise legen das nahe...
@basefloor: du musst schon ein paar Grundlagen zum programmieren in Python lernen, sonst wird das nichts. Computer sind notorisch schlecht darin, Ratespiele zu spielen. Die wollen es immer ganz genau wissen.
https://stackoverflow.com/questions/381 ... n/38170302
Der englische Kommentar und die etwas sehr kompakte Schreibweise legen das nahe...
@basefloor: du musst schon ein paar Grundlagen zum programmieren in Python lernen, sonst wird das nichts. Computer sind notorisch schlecht darin, Ratespiele zu spielen. Die wollen es immer ganz genau wissen.