【发布时间】:2018-03-30 01:53:40
【问题描述】:
我编写了一个脚本,该脚本将根据来自文件的输入计算给定气氛的反应速率。脚本中运行良好的那部分——我遇到的问题是输出。
我正在尝试编写的输出如下所示:
[4.0645563275808397e+40, 2.132787340925467e+34, 1.1095439676449723e+34, 8.8519070848594178e+30, 5.712962894343884e+29, 8.59176710723335e+25, 2.2776609537205616e+27, 1.0754560423907579e+29, 1.207315366535562e+32, 3.704635984045113e+37, 3.6601067774637497e+36, 2.9774080573246763e+41, 1.6013846123116079e+42, 68756936.415690869, 37101276694.104965, 1261680029767.3533,...]
总共有 560 个反应速率。
我一直在尝试使用 csv.writer 将其写入 csv 文件 - 它可以并且确实可以做到。问题不是创建一列 560 行来存储输出,而是 csv.writer 继续生成 560 列和一行。如何让它以我想要的格式写入输出?我已经尝试过 numpy.transpose,但没有任何效果。
以下是相关代码:
rate_list=[]
for i in range (1,560):
A_no=int(Ar.iloc[i]) #index number for first reactant
B_no=int(Br.iloc[i]) #index number for second reactant
k=mydict['variable']['k'][i][29] #Grabs reaction rate constant
A_ymix=mydict['variable']['ymix'][29][A_no] #Grabs abundance for first reactant
B_ymix=mydict['variable']['ymix'][29][B_no] #Grabs abundance for second reactant
rate=A_ymix*B_ymix*N*k
rate_list.append(rate)
with open('reaction rate list.csv','w') as output:
writer= csv.writer(output, delimiter=',')
writer.writerows(rate_list)
我们将不胜感激任何和所有建议!
谢谢!
【问题讨论】: