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

Einige Referenzen zu Farben in HTML

In HTML werden Farben auf zwei Arten dargestellt. ...

JavaScript zum Erzielen eines Kalendereffekts

In diesem Artikel wird der spezifische Code für J...

Detaillierte Erläuterung der Nginx Reverse Proxy WebSocket-Konfiguration

Kürzlich habe ich bei der Arbeit an einem Projekt...

html Option deaktivieren auswählen auswählen deaktivieren Option Beispiel

Code kopieren Der Code lautet wie folgt: <Ausw...

Einführung in die Verwendung des MySQL mysqladmin-Clients

Inhaltsverzeichnis 1. Überprüfen Sie den Status d...

Tutorial zu HTML-Tabellen-Tags (8): Hintergrundbild-Attribut BACKGROUND

Legen Sie ein Hintergrundbild für die Tabelle fes...

Wissen zur Suchmaschinenoptimierung, auf das Sie beim Webdesign achten sollten

1. Linklayout der neuen Site-Startseite 1. Die Pos...

Wichtige Updates für MySQL 8.0.23 (neue Funktionen)

Autor: Guan Changlong ist DBA in der Delivery Ser...

Zusammenfassung der Vue3-Slot-Nutzung

Inhaltsverzeichnis 1. Einführung in den V-Slot 2....

Detaillierte Erläuterung des MySQL 5.7.9-Shutdown-Syntaxbeispiels

mysql-5.7.9 bietet endlich eine Shutdown-Syntax: ...

Tiefgreifendes Verständnis der Matching-Logik von Server und Standort in Nginx

Server-Abgleichlogik Wenn Nginx entscheidet, in w...