Python怎么把循环得到的结果按照列依次写入到一个csv文件中?
过去多啦不再A梦
过去多啦不再A梦 2017-05-18 10:48:34
0
2
1025

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

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学习者快速成长!