Python怎麼把循環得到的結果依照列依序寫入一個csv檔?
过去多啦不再A梦
过去多啦不再A梦 2017-05-18 10:48:34
0
2
1022

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

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梦

全部回覆(2)
Ty80

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

洪涛

我改了一下你的程式碼,實測是可以從 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()

不懂可以再問

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!