如何在python中将numpy数组成员的值写入txt?

如何在python中将numpy数组成员的值写入txt?,python,arrays,string,numpy,Python,Arrays,String,Numpy,我想用以下代码将特定格式的特定文本写入txt: textf = open("output.txt","w") for i in range(len(x1)): textf.write("sf"+repr(i+2) +": -1x1_1+"+ repr((x2[i]))+"x2_1+"+repr(x3[i])+"x3_1") textf.write("\n") textf.close() 输出如下: sf2: -1x1_1+array([ 100.])x2_1+arr

我想用以下代码将特定格式的特定文本写入txt:

textf = open("output.txt","w")

for i in range(len(x1)):
    textf.write("sf"+repr(i+2) +": -1x1_1+"+ repr((x2[i]))+"x2_1+"+repr(x3[i])+"x3_1")
    textf.write("\n")

    textf.close()
输出如下:

sf2: -1x1_1+array([ 100.])x2_1+array([ 100.])x3_1
sf3: -1x1_1+array([ 91.02295278])x2_1+array([ 90.9906232])x3_1
sf4: -1x1_1+array([ 101.25508941])x2_1+array([ 138.07783278])x3_1
但我只希望看到数组中的值:

sf2: -1x1_1+100x2_1+100x3_1
sf3: -1x1_1+91.02295278x2_1+90.9906232x3_1
sf4: -1x1_1+101.25508941x2_1+138.07783278x3_1
提前谢谢

将为您提供对象的表示。对于简单对象,如整数和浮点,这将是文本值,但并非所有对象都是这样。这里需要的是在中使用数组的值。还建议使用以下语法处理文件

通过在格式中添加更多数字,例如
{:5.3f}
,您可以控制浮点所占的最大宽度以及小数点后显示的位数。比如说,

>>> '{:10.5f}'.format(3.25)
'   3.25000'
用零填充左边的空格:

>>> '{:010.5f}'.format(3.25)
'0003.25000'
最后,如果有很多行要写,重复调用
write()
可能会很慢。首先创建一个包含所有行的字符串,然后一次性写入,这样会更有效

lines = ['sf{0}: -1x1_1+{1:f}x_1+{2:f}x3_1'.format(i+2, x2[i], x3[i]) for i in range(len(x1))]
with open("output.txt","w") as textf:
    textf.write('\n'.join(lines))
lines = ['sf{0}: -1x1_1+{1:f}x_1+{2:f}x3_1'.format(i+2, x2[i], x3[i]) for i in range(len(x1))]
with open("output.txt","w") as textf:
    textf.write('\n'.join(lines))