如何在python中将numpy数组成员的值写入txt?
我想用以下代码将特定格式的特定文本写入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
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))