我在文件夹中有一些光谱,洛伦兹峰应该适合共振曲线。这很好用,但我需要将文件名fitparameters和fit的标准偏差写入.txt文件。
目前,在保存fitparameters的时候看起来像这样:
参数[0],
参数[1],
参数[2], ....
但是它们应该在文本文件中如下所示: 文件名,参数[0],参数[1],参数[2],....
我保存参数的代码如下所示:
import numpy as np
np.savetxt('path/to/folder/', parameters, delimiter=",")
答案 0 :(得分:0)
我想我找到了一个不太漂亮的解决方案......
首先,我使用“水平”尺寸定义一个数组
table=np.ndarray((9),int) #9 columns in my case
然后我有一个循环,它将文件名作为表中的第一列读取,并将所有内容写入一行:
temp=[[name, fitparameter[0],...,fitparameter[n],std_devs[0],....,[std_devs[n]]
在最后一步中,我只是将新行堆叠到我的初始化数组
table=np.vstack([table,temp])
丑陋的是,初始化的数组不是空的,因此我必须在进一步的代码中跳过表格的第一行。
答案 1 :(得分:0)
除非我遗漏了某些东西,否则这样的东西应该是你想要的?如果你正在使用numpy数组,只需将它们转换为multidim列表(如下所示),然后再使用它,你就应该好了。
filename = "name" # logfile
fittings = [range(8) for fit in range(5)] # example data matrix
with open(filename,'w') as f:
for fit in fittings:
fit.insert(0,"filexy") # the filename at the beginning of the line
f.write(str(fit)[1:-1]+"\n") # write list, ignore brackets
生成文件“name”,内容为:
'filexy', 0, 1, 2, 3, 4, 5, 6, 7
'filexy', 0, 1, 2, 3, 4, 5, 6, 7
'filexy', 0, 1, 2, 3, 4, 5, 6, 7
'filexy', 0, 1, 2, 3, 4, 5, 6, 7
'filexy', 0, 1, 2, 3, 4, 5, 6, 7