Python schreibt die Ausgabe in den CSV-Vorgang

Python schreibt die Ausgabe in den CSV-Vorgang

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:
  • So schreiben Sie Daten mit Python in eine CSV-Datei
  • 3 Möglichkeiten, Daten in Python in CSV- oder XLSX-Dateien zu schreiben
  • So geben Sie den Klassifizierungsbericht in Python in eine CSV-Datei aus

<<:  Quickjs kapselt JavaScript-Sandbox-Details

>>:  Abkürzungszeichen und Akronymzeichen

Artikel empfehlen

Die beste Erklärung zu HTTPS

Guten Morgen allerseits, ich habe meinen Artikel ...

So erstellen Sie mit Photoshop ein Web-Drahtgittermodell

Dieser Beitrag stellt eine Reihe kostenloser Phot...

MySQL-Datenbankoptimierung: Indeximplementierungsprinzip und Nutzungsanalyse

Dieser Artikel veranschaulicht anhand von Beispie...

JavaScript-OffsetParent-Fallstudie

1. Definition von offsetParent: offsetParent ist ...

Tutorial zur Installation und Konfiguration von MySQL 5.7.16 ZIP-Paketen

In diesem Artikel finden Sie das Installations- u...

Implementierung eines MySQL-Gemeinschaftsindex (zusammengesetzter Index)

Gemeinsamer Index Die Definition des gemeinsamen ...

Detaillierte grafische Erklärung der SQLMap-Injektion

Inhaltsverzeichnis 1. Wir haben festgestellt, das...

Neunundvierzig JavaScript-Tipps und Tricks

Inhaltsverzeichnis 1. Betrieb von js Integer 2. S...

HTML implementiert die Funktion zur Erkennung der Eingabevervollständigung

Verwenden Sie „onInput(event)“, um festzustellen,...

Über 40 schöne Beispiele für Webformular-Designs

Webformulare sind der primäre Kommunikationskanal...

Befehl zum Anzeigen der Erstellungszeit der Binlog-Datei unter Linux

Inhaltsverzeichnis Hintergrund analysieren Verfah...

Detaillierte Erklärung, warum MySQL nicht mit UNION zwei Abfragen verbinden kann

Überblick UNION Mit dem Schlüsselwort „Verbindung...