Maison  >  Questions et réponses  >  le corps du texte

Comment Python écrit-il les résultats d'une boucle dans un fichier csv dans l'ordre des colonnes ?

Je suis un débutant complet, alors je vous en supplie les gars ! !

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

Les résultats en cours sont les suivants. Maintenant, je veux écrire les résultats obtenus à partir de chaque boucle dans un nouveau fichier csv dans l'ordre, mais il est préférable de les écrire colonne par colonne. Merci beaucoup ! ! ! ! ! ! !

过去多啦不再A梦过去多啦不再A梦2711 Il y a quelques jours1029

répondre à tous(2)je répondrai

  • PHP中文网

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

    Il est recommandé de placer les données dans le dataframe pandas, puis d'appeler pandas.to_csv

    répondre
    0
  • PHP中文网

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

    J'ai changé votre code et la mesure réelle peut être obtenue auprès de 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()
    

    Si vous ne comprenez pas, vous pouvez demander à nouveau

    répondre
    0
  • Annulerrépondre