Python:将参数写入tab

2024-05-16 08:30:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我在文件夹里有一些光谱,一个洛伦兹峰应该被拟合到共振曲线上。这工作得很好,但我需要将文件名fitparameters和fit的标准偏差写入一个.txt文件。你知道吗

在保存fitparameters时,现在看起来是这样的:

参数[0]

参数[1]

参数[2], .... 你知道吗

但它们应该出现在文本文件中,如下所示: 文件名、参数[0]、参数[1]、参数[2]、,。。。。你知道吗

保存参数的代码如下所示:

import numpy as np
np.savetxt('path/to/folder/', parameters, delimiter=",")

Tags: 文件代码importtxt文件夹参数文件名np
2条回答

除非我漏掉了什么,否则像这样的东西应该是你想要的?如果您使用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

我想我找到了一个不太好的解决办法。。。。你知道吗

首先,我用“水平”维度定义一个数组

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])

最糟糕的是,初始化的数组不是空的,所以在进一步的代码中我不得不跳过表的第一行。你知道吗

相关问题 更多 >