Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将写在*.txt文件中的单个大数字转换为单个数字的numpy数组?_Python_Arrays_Numpy - Fatal编程技术网

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)
,但可能您必须消除换行符或其他东西。。