Wie unten dargestellt:def test_write(selbst): Felder=[] Felder.anhängen(Bestellcode) mit open(r'./test001.csv', 'a',newline="") als f: Schriftsteller = csv.writer(f) writer.writerow(Felder) Definieren Sie eine Liste: Fügen Sie anschließend die zu schreibenden Daten in die Liste ein a #Daten an die nächste Zeile anhängen newline='' //Entfernen Sie die Leerzeile in der Mitte jeder Zeile. Wenn sie nicht hinzugefügt wird, entstehen Leerzeichen zwischen den Zeilen. Neue Zeile hinzufügen Ohne: Ergänzung: Verwenden Sie Python, um JSON-Daten in das CSV-Format zu konvertieren Angenommen, in der JSON-Datei sind folgende Daten gespeichert: {"Typ": "Punkt", "Link": "http://www.dianping.com/newhotel/22416995", "Koordinaten": [116.37256372996957, 40.39798447055443], "Kategorie": "Wirtschaft", "Name": "Beijing Hetang Villa", "Anzahl": "278", "Adresse": "Ansi Road, Huanghuacheng Village, Huairou District, Beijing", "Preis": "380"} {"Typ": "Punkt", "Link": "http://www.dianping.com/newhotel/19717653", "Koordinaten": [116.56881588256466, 40.43310967948417], "Kategorie": "Wirtschaft", "Name": "Mutianyu Great Wall Yushifu Country Hotel", "Anzahl": "89", "Adresse": "Weidian Village, Bohai Town, Huairou District, Peking (3 Kilometer unterhalb der Mutianyu Great Wall, in der Nähe der Huaihuang Road)", "Preis": "258"} {"Typ": "Punkt", "Link": "http://www.dianping.com/newhotel/58365289", "Koordinaten": [116.62874974822378, 40.45610264855833], "Kategorie": "Wirtschaft", "Name": "Beijing Mitaoer Parent-child Inn", "Anzahl": "119", "Adresse": "Nr. 11 Xiaguandi, Shentangyu Scenic Area, Bezirk Huairou, Peking", "Preis": "549"} Jetzt müssen wir die obigen Daten im CSV-Format speichern, wobei die Schlüssel des Wörterbuchs die Attributnamen in CSV sind und die Werte des Wörterbuchs die Werte sind, die den Attributen in CSV entsprechen. Wenn Sie nur CSV entsprechend den JSON-Schlüsseln generieren müssen, ist der Vorgang relativ einfach. Befolgen Sie einfach die folgende Methode: #-*-Kodierung:utf-8-*- CSV importieren JSON importieren System importieren Codecs importieren def trans(Pfad): jsonData = codecs.open(Pfad+'.json', 'r', 'utf-8') # csvfile = open(Pfad+'.csv', 'w') # Wenn Sie hier schreiben, enthält die geschriebene Datei leere Zeilen. # csvfile = open(Pfad+'.csv', 'wb') # python2 unter csvfile = open(Pfad+'.csv', 'w', newline='') # python3 unter Writer = csv.writer(csvfile, delimiter='\t', quoting=csv.QUOTE_ALL) Flag = Wahr für Zeile in jsonData: dic = json.loads(Zeile[0:-1]) if-Flag: # Holen Sie sich die Attributliste keys = list(dic.keys()) drucken (Tasten) writer.writerow(keys) # Schreibe die Attributliste in CSV flag = False # Lies jede Zeile der JSON-Daten und schreibe die Wertedaten zeilenweise in CSV writer.writerow(list(dic.values())) jsonData.schließen() csvfile.schließen() wenn __name__ == '__main__': path=str(sys.argv[1]) # Den Pfadparameter abrufen print (path) trans(Pfad) Führen Sie es unter Python3 aus und geben Sie die Befehlszeile ein python C:\Benutzer\MaMQ\Dokumente\jsonToCsv.py C:\Benutzer\MaMQ\Dokumente\data\geoFood Der dritte Parameter ist der Pfad und Name der zu konvertierenden Datei, wobei das Suffix gelöscht wird. Nach dem Ausführen der Datei können Sie die konvertierte CSV-Datei abrufen. Wenn Sie das Schlüsselfeld jedes Wörterbuchs in der JSON-Datei ändern müssen, z. B. die Längen- und Breitengraddaten in der Koordinate im obigen Wörterbuch herausnehmen und als x- und y-Daten speichern müssen, können Sie die folgende Methode befolgen (mit dieser Methode können Sie auch die Reihenfolge anpassen, in der jedes Attribut angezeigt wird, was besser ist): CSV importieren JSON importieren System importieren Codecs importieren def trans(Pfad): jsonData = codecs.open(Pfad+'.json', 'r', 'utf-8') # csvfile = open(Pfad+'.csv', 'w') # Wenn Sie hier schreiben, enthält die geschriebene Datei leere Zeilen. # csvfile = open(Pfad+'.csv', 'wb') # python2 unter csvfile = open(Pfad+'.csv', 'w', newline='') # python3 unter Writer = csv.writer(csvfile, delimiter='\t', quoting=csv.QUOTE_ALL) Schlüssel=['id', 'Name', 'Kategorie', 'Preis', 'Anzahl', 'Typ', 'Adresse', 'Link', 'x', 'y'] writer.writerow(Schlüssel) ich = 1 für dic in jsonData: dic = json.loads(dic[0:-1]) x = dic['Koordinaten'][0] y = dic['Koordinaten'][1] writer.writerow([str(i),dic['Name'],dic['Kategorie'],dic['Preis'],dic['Anzahl'],dic['Typ'],dic['Adresse'],dic['Link'],x,y]) ich += 1 jsonData.schließen() csvfile.schließen() wenn __name__ == '__main__': Pfad = str(sys.argv[1]) drucken (Pfad) trans(Pfad) Die Vorgehensweise ist die gleiche wie oben. Die JSON-Datei enthält die Daten, die ich von Dianping.com gecrawlt habe, und das Speicherformat ist UTF-8. Es wird empfohlen, zum Lesen von JSON-Daten das Codecs-Paket zu verwenden, und Sie können die Kodierungsmethode angeben. jsonData = codecs.open(Pfad + „.json“, „r“, Kodierung=„utf-8“) Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur. Das könnte Sie auch interessieren:
|
<<: Quickjs kapselt JavaScript-Sandbox-Details
>>: Abkürzungszeichen und Akronymzeichen
Guten Morgen allerseits, ich habe meinen Artikel ...
Dieser Beitrag stellt eine Reihe kostenloser Phot...
Dieser Artikel veranschaulicht anhand von Beispie...
1. Definition von offsetParent: offsetParent ist ...
<style type="text/css"> Code kopie...
In diesem Artikel finden Sie das Installations- u...
Gemeinsamer Index Die Definition des gemeinsamen ...
Wir implementieren einen roten Bildstil für die a...
Inhaltsverzeichnis 1. Wir haben festgestellt, das...
Beim Verwenden der MySql-Fensterfunktion zum Samm...
Inhaltsverzeichnis 1. Betrieb von js Integer 2. S...
Verwenden Sie „onInput(event)“, um festzustellen,...
Webformulare sind der primäre Kommunikationskanal...
Inhaltsverzeichnis Hintergrund analysieren Verfah...
Überblick UNION Mit dem Schlüsselwort „Verbindung...