wie schreibt Listen, um bestimmte Spalten der csv-Datei in python

Ich habe eine verschachtelte Liste und jede verschachtelte Liste hat mehrere Zeichenfolgen in:

[['http:/house.com/06','http:/google.com/09','http:6000.com'],['http:/house.com/04','http:/google.com/03','http:600.com', 'http://900.com],['http:/house.com/09','http:/google.com/076','http://rather.com']...]

mein Ziel ist es, das erste element der jeweiligen Liste in der ersten Spalte, und den rest in der zweiten und Dritten Spalten

wollte das Ergebnis in der csv-Datei:

col1                 col2                  co3            col4
http:/house.com/06   http:/google.com/09   http:6000.com
http:/house.com/04   http:/google.com/03   http:600.com    http://900.com
http:/house.com/09   http:/google.com/076  http://rather.com

gibt es eine Möglichkeit, dies zu tun?

  • Das Ergebnis, die Sie zeigen, ist nicht eine gültige csv-Datei. Trennzeichen hat die gleiche Spalten und Daten. Sie haben weitere Leerstellen zwischen den Spalten und weniger Leerzeichen zwischen den Daten.
  • Viele Leser verarbeiten kann mehrere Leerzeichen wie eines. Aber mit 3 Werten, die in einer Reihe und 4 in einer anderen Probleme geben kann. Eine explizite Trennzeichen wie , können, machen das Lesen leichter, auch wenn die Spalten ausgerichtet sind.
InformationsquelleAutor song0089 | 2017-02-01



2 Replies
  1. 0

    CSV-Datei die Spalten sind unterteilt durch KOMMAS (,), so können Sie Durchlaufen Ihre Daten-Struktur und print in die Datei den folgenden text:

    col1,col2,co3,col4
    http:/house.com/06,http:/google.com/09,http:6000.com,
    http:/house.com/04,http:/google.com/03,http:600.com,http://900.com
    http:/house.com/09,http:/google.com/076,http://rather.com,

    können Sie erreichen, dass mit geschachtelten for-Schleifen

    for x in lst:
       for y in x:
          print y + ","
    • Ich bin nicht nach diesem, so dass der Druck y+ „,“ führen wird, um die csv zu führen?
    • CSV werden können Komma-getrennt oder tab-getrennt. Und außerdem ist dies nicht eine vollständige Antwort. Versuchen, es zu verbessern.
    • Sie können erklären, csv-Trennzeichen als tab auch
    • Lesen Sie die Frage noch einmal gezielt, Sie Verstand nicht, was der OP fordert.
  2. 0

    Das Trennzeichen nicht ändern sollte in der Kopfzeile und Datenzeile. Da haben Sie eine leere Zeichenfolgen in wenigen Zeilen, die Sie gehen sollten, für die Komma-Trennzeichen. Versuchen Sie es so:

    Mit pandas:

    import pandas as pd
    
    l1 = [['http:/house.com/06','http:/google.com/09','http:6000.com'],['http:/house.com/04','http:/google.com/03','http:600.com', 'http://900.com'],['http:/house.com/09','http:/google.com/076','http://rather.com']]
    
    df = pd.DataFrame(data=l1, columns=['col1','col2','col3','col4']).fillna('')
    df.to_csv('file1.csv', index=None)

    Dies ist, wie der dataframe aussieht:

    wie schreibt Listen, um bestimmte Spalten der csv-Datei in python

    Mit csv Paket:

    import csv
    
    l1 = [['http:/house.com/06','http:/google.com/09','http:6000.com'],['http:/house.com/04','http:/google.com/03','http:600.com', 'http://900.com'],['http:/house.com/09','http:/google.com/076','http://rather.com']]
    with open('file1.csv', 'w') as f:
        rows = [['col1','col2','col3','col4']] + l1
        writer = csv.writer(f)
        writer.writerows(rows)
    • mithilfe der externen Bibliothek ist übertrieben in diesem Fall
    • Ich werde versuchen, dieses und Kommentar, wenn es nicht funktioniert

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.