首页  >  问答  >  正文

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 天前1030

全部回复(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
  • 取消回复