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文件中,但是最好按照一列一列的写入,万分感谢啊!!!!!!!
回答:
我改了一下你的代码,实测是可以从 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()
不懂可以再问
回答:
建议你把数据放进pandas的dataframe然后调用pandas.to_csv
回答:
在with open写入的时候加一个参数
newline=''
试试?
回答:
先把结果存入pandas 直接内置的to_csv 就搞定了.
如果只是简单的话就不用pandas了 直接这样就行
with open(r"读取文件的路径",'r') as rf,open(r"写入路径",'w',newline='') as wf: reader = csv.reader(rf)
writer = csv.writer(wf)
for row in reader:
writer.writerow(row)
搞定
回答:
怎么只将某一列写入呢
以上是 Python怎么把循环得到的结果按照列依次写入到一个csv文件中? 的全部内容, 来源链接: utcz.com/a/157271.html