Python怎么把循环得到的结果按照列依次写入到一个csv文件中?
问题描述
完全新手,跪求各位大佬啊!!
import csvwith 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文件中,但是最好按照一列一列的写入,万分感谢啊!!!!!!!
问题解答
回答1:建议你把数据放进pandas的dataframe然后调用pandas.to_csv
回答2:我改了一下你的代码,实测是可以从 a.csv复制到 b.csv中
import csvdef 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()
不懂可以再问
相关文章:
