Heim  >  Fragen und Antworten  >  Hauptteil

Wie schreibt Python die Ergebnisse einer Schleife in Spaltenreihenfolge in eine CSV-Datei?

Ich bin ein absoluter Neuling, also flehe ich euch an! !

import csv
with open('shiyan.csv', 'rb') as f:
    reader = csv.reader(f)
    your_list = list(reader)
    data = map(list,zip(*your_list))

    for i,data in enumerate(data):
         row = data
         row = map(eval, row)
         listA=row
         result=[float( sum(listA[i:i+10])/10) for i,num in enumerate(listA) if i%10==0]
         print result

Die laufenden Ergebnisse sind wie folgt. Jetzt möchte ich die von jeder Schleife erhaltenen Ergebnisse der Reihe nach in eine neue CSV-Datei schreiben, aber es ist am besten, sie Spalte für Spalte zu schreiben. ! ! ! ! ! !

过去多啦不再A梦过去多啦不再A梦2711 Tage vor1032

Antworte allen(2)Ich werde antworten

  • PHP中文网

    PHP中文网2017-05-18 10:50:34

    建议你把数据放进pandas的dataframe然后调用pandas.to_csv

    Antwort
    0
  • PHP中文网

    PHP中文网2017-05-18 10:50:34

    我改了一下你的代码,实测是可以从 a.csv复制到 b.csv

    import csv
    
    
    def foo():
    
        with open('a.csv', 'r') as f:
            reader = csv.DictReader(f)
            rows = [row for row in reader]
            
            if not rows:
                return 
            
            with open('b.csv', mode='w', newline='', errors='ignore') as f2:
                for index, row in enumerate(rows):
                    if index == 0:
                        f_csv = csv.DictWriter(f2, fieldnames=list(row.keys()))
                        f_csv.writeheader()
                    f_csv.writerow(row)
    
    
    if __name__ == '__main__':
        foo()
    

    不懂可以再问

    Antwort
    0
  • StornierenAntwort