我试图将多个二进制文件转换为一个CSV文件。如果我使用' w' #write to a file,但每次新迭代都会写入最后一个。但是,当我使用' a' #add到一个文件,我得到的值与我使用' w'时不同。 (并且不正确)。有没有办法将我的结果放到一个文件中,而不使用append来覆盖以前的结果?
这是我的代码:
import os
import numpy as np
fileLib1 = ('/path1/')
ref = ('/path2/ref.csv')
for file in os.scandir(fileLib1):
with open(file,'rb') as f:
text = list(np.fromfile(f,dtype=np.float32))
with open(ref,'a') as conv: #problem, 'a' vs 'w'
for n in text:
conv.write('%s,\n' %n)
答案 0 :(得分:0)
我不明白为什么你在每次迭代时打开和关闭目标文件:只需在程序的开头<{1}}打开文件,然后在最后关闭它:
w
这也可能会稍微提高程序的性能,因为打开/关闭/ ...文件通常是操作系统操作,因此不是免费的。