我想将数组作为一行附加到flie上,
import numpy as np
data1 = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
data2 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])
g = open(f'data.csv', 'w')
for data in [data1,data2]:
g.write(data)
g.close()
我知道了
Traceback (most recent call last):
File "test.py", line 12, in <module>
g.write(data)
TypeError: write() argument must be str, not numpy.ndarray
然后我用
g.write(f'{data}\n')
输出为
[0 1 2 3 4 5 6 7 8 9]
[1 2 3 4 5 6 7 8 9 0]
但是如何摆脱[]
符号
0 1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 0
答案更新
感谢评论,我可以先堆叠数组,然后保存它。也许还有一些优雅的方法可以直接附加它们!幸运的是,问题已经结束,请写评论,我将在这里更新!
import numpy as np
data1 = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
data2 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])
data = np.stack((data1,data2))
np.savetxt('data.csv', data, fmt='%i ', newline='\n')
答案 0 :(得分:3)
尝试:
np.savetxt('data.csv', data, fmt='%i ', newline='')
更多数组的示例:
data1 = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
data2 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])
data = np.array([data1, data2])
np.savetxt('data.csv', data, fmt='%i ', newline='\n')