我有一个大数据文件,其中的数字列由空格分隔。我想将它们作为一个 numpy 数组读入。
我曾经numpy.loadtxt(filename)
读过文件。当代码试图将这个 19 位字符串转换为数字时,问题就出现了;看来只能准确表示前17位数字了。
这是一个简化的示例:
from StringIO import StringIO
import numpy as np
#use this s string to mimick the input txt file
s = StringIO('1237657220412736271 39843.3948')
arr = np.loadtxt(s)
print int(arr[0])
如果你运行它,你会得到
1237657220412736256
我知道可以指定您所拥有的数据类型np.loadtxt()
,但即使我指定它以将第一个数字读取为长整数,它仍然无法准确表示 19 位数字字符串。
有没有更好的方法来做到这一点?