Python 如何将写在*.txt文件中的单个大数字转换为单个数字的numpy数组?
比如说,你有一个Python 如何将写在*.txt文件中的单个大数字转换为单个数字的numpy数组?,python,arrays,numpy,Python,Arrays,Numpy,比如说,你有一个file.txt,里面写着1234567890数字。现在,如何将这个数字转换成 NoMPy。数组< /代码>,即 [ 1, 2, 3,4, 5, 6,7, 8, 9,0 ] < /> > < /p> < p>如果您想将每个字符看作单独的int,则可以将字符串转换为列表 >,然后将列表转换为NP.String,使用 dType = INT/COD>。范例- with open('file') as f: narray = np.array(list(f.read()),dt
file.txt
,里面写着1234567890
数字。现在,如何将这个数字转换成<代码> NoMPy。数组< /代码>,即<代码> [ 1, 2, 3,4, 5, 6,7, 8, 9,0 ] < /> > < /p> < p>如果您想将每个字符看作单独的int,则可以将字符串转换为<代码>列表> >,然后将列表转换为NP.String,使用<代码> dType = INT/COD>。范例-
with open('file') as f:
narray = np.array(list(f.read()),dtype=int)
范例-
with open('file') as f:
narray = np.array(list(f.read()),dtype=int)
In [50]: np.array(list("1234567890"),dtype=int)
Out[50]: array([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])
一种解决方案可能是将其加载到字符串中,获取字符串的长度,然后获取每个位置的字符,直到字符串长度 另一个可能是pcre函数:在php中,可以通过在字符串上使用preg_split来完成(示例见文档:
根据网站php2python的说法,你应该在python中有一个类似的函数:如果这个数字太大以至于扩展了
int64
的范围,那怎么可能呢?当这个数字总是只有一位数的时候,怎么可能呢?这样一来,“数字”就永远不是一个int,它要么是一个字符串,要么是一个字符串列表,最后是一个int数组,而不是一个数组N10.但这似乎是OP想要的,因为数字没有分隔符,并且根据OP的示例,每个数字都被视为一个单独的数字。numpy.fromfile('file.txt',dtype='S1').astype(int)
,但可能您必须消除换行符或其他东西。。