首頁  >  問答  >  主體

Python怎麼把循環得到的結果依照列依序寫入一個csv檔?

完全新手,跪求各位大佬啊! !

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

運行結果如下,現在就是想把每次循環得到的result依次寫入一個新的csv文件中,但是最好按照一列一列的寫入,萬分感謝啊! ! ! ! ! ! !

#
过去多啦不再A梦过去多啦不再A梦2711 天前1031

全部回覆(2)我來回復

  • PHP中文网

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

    建議你把資料放進pandas的dataframe然後呼叫pandas.to_csv

    回覆
    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()
    

    不懂可以再問

    回覆
    0
  • 取消回覆