【发布时间】:2017-12-31 21:29:32
【问题描述】:
我有二维数组:
import numpy as np
output = np.array([1,1,6])*np.arange(6)[:,None]+1
output
Out[32]:
array([[ 1, 1, 1],
[ 2, 2, 7],
[ 3, 3, 13],
[ 4, 4, 19],
[ 5, 5, 25],
[ 6, 6, 31]])
我尝试使用np.savetxt('file1.txt', output, fmt='%10d')
我只在一行中得到了结果
如何将其保存在 txt 文件中,类似于:
x y z
1 1 1
2 2 7
3 3 13
4 4 19
5 5 25
6 6 31
3 个独立的列,每列都有名称 (x,y,z)
请注意:原始数组太大(40000000行3列),我用的是Python 3.6 我已经尝试了here 和here 中的解决方案,但是它不适用于我
【问题讨论】:
-
这些解决方案在哪些方面失败了?
-
40mio*3*3 个字符的数据和间距大约为 350mb,假设每个字符 1 个字节 - 这不是一个太大的文件。
-
@PatrickArtner:但是如果我们使用文本,它会使用分隔符(制表符和换行符),并且某些数据(例如浮点数)可以使用 ~10-20 位数字。
-
大而不大
-
@WillemVanOnsem 当然,他的演示数据的整数范围在 99 以下,但我四舍五入;)只是想了解他的问题