繁体   English   中英

通过两个循环将结果写入CSV文件

[英]Write results to csv file with two loops

我有以下部分代码:

  results=np.zeros((rules,max_n),dtype=int)
for n in v:
    print(n)
    dist=SimulationFramework(5,n,brute_force=False)
    results[:,n]=dist.distances()[:,0]
print(results)

np.save('a_5.csv', results)

dirname = os.path.dirname(os.path.abspath(__file__))
csvfilename = os.path.join(dirname, 'a_5.csv')

with open(csvfilename, 'w', newline='') as csvfile:
    writer = csv.writer(csvfile, delimiter=' ',quotechar='|',     quoting=csv.QUOTE_MINIMAL)
    for r in range(rules):
        for n in v:
            writer.writerows(r, n-3,results[r,n])

运行代码时,出现以下错误:

 TypeError: writerows() takes exactly one argument (3 given)

我对Python完全陌生。 我为writerows()使用了三个参数,但是只采用了一个参数。 如何使代码正常工作并将结果保存到csv文件中?

使用writerow与一起写一行。 它仅接受一个参数。

with open(csvfilename, 'w', newline='') as csvfile:
    writer = csv.writer(csvfile, delimiter=' ',quotechar='|',     quoting=csv.QUOTE_MINIMAL)
    for r in range(rules):
        for n in v:
            writer.writerow((r, n-3,results[r,n]))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM