我尝试将数组B和c附加到file.txt。默认行为是覆盖,我找不到任何关于更改此操作的文档。
import numpy as np a = np.array([1.2, 2.3, 4.5]) b = np.array([6.7, 8.9, 10.11]) c = np.array([12.13, 14.15, 16.17]) np.savetxt('file.txt', a, fmt='%1.3f', newline=", ")
谢啦,谢啦
lndjwyie1#
使用带“append”模式的open(),并将流传递给savetxt方法:
open()
savetxt
with open("test.txt", "ab") as f: numpy.savetxt(f, a)
编辑:添加新行或其他内容:
with open("test.txt", "ab") as f: f.write(b"\n") numpy.savetxt(f, a)
cig3rfwq2#
应在追加模式下打开该文件
import numpy as np f=open('file.txt','a') a = np.array([1.2, 2.3, 4.5]) b = np.array([6.7, 8.9, 10.11]) c = np.array([12.13, 14.15, 16.17]) np.savetxt(f, a, fmt='%1.3f', newline=", ") f.write("\n") np.savetxt(f, b, fmt='%1.3f', newline=", ") f.write("\n") np.savetxt(f, c, fmt='%1.3f', newline=", ") f.write("\n") f.close()
knsnq2tg3#
实现行和换行符的更简单的方法。
import numpy as np a = np.array([1.2, 2.3, 4.5]) b = np.array([6.7, 8.9, 10.11]) c = np.array([12.13, 14.15, 16.17]) with open('file.txt','a') as f: np.savetxt(f, a.reshape(1, -1), fmt='%1.3f', delimiter=",") np.savetxt(f, b.reshape(1, -1), fmt='%1.3f', delimiter=",") np.savetxt(f, c.reshape(1, -1), fmt='%1.3f', delimiter=",")
file.txt的内容(假设file.txt为空或不存在)
1.200,2.300,4.500 6.700,8.900,10.110 12.130,14.150,16.170
另外,请注意,如果您不是每次都重新打开文件,np.savetxt会有效地将b和c添加到现有文件中,因此您可以从一开始就使用写模式。不确定这是您想要的还是要附加到已经存在的文件中。
np.savetxt
b
c
with open('file.txt', 'w') as f: np.savetxt(f, a.reshape(1, -1), fmt='%1.3f', delimiter=",") np.savetxt(f, b.reshape(1, -1), fmt='%1.3f', delimiter=",") np.savetxt(f, c.reshape(1, -1), fmt='%1.3f', delimiter=",")
(输出与上述相同,无论是否存在任何现有文件)
3条答案
按热度按时间lndjwyie1#
使用带“append”模式的
open()
,并将流传递给savetxt
方法:编辑:添加新行或其他内容:
cig3rfwq2#
应在追加模式下打开该文件
knsnq2tg3#
实现行和换行符的更简单的方法。
file.txt的内容(假设file.txt为空或不存在)
另外,请注意,如果您不是每次都重新打开文件,
np.savetxt
会有效地将b
和c
添加到现有文件中,因此您可以从一开始就使用写模式。不确定这是您想要的还是要附加到已经存在的文件中。(输出与上述相同,无论是否存在任何现有文件)