Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.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 Numpy.loadtxt,具有多种字符串条目,但知道行格式_Python_Arrays_Numpy - Fatal编程技术网

Python Numpy.loadtxt,具有多种字符串条目,但知道行格式

Python Numpy.loadtxt,具有多种字符串条目,但知道行格式,python,arrays,numpy,Python,Arrays,Numpy,忙于研究loadtxt的限制。我有一个多维数组: # Sample header for python loadtxt Very random text:¤mixed with¤strings¤numbers 300057¤9989¤34956¤1 110087¤9189¤24466¤4 # EOF 我可以将其全部读取为字符串(未知长度),然后转换为整数和浮点数。我这里有: import numpy as np txtdata = np.loadtxt('Mytxtfile.txt',deli

忙于研究loadtxt的限制。我有一个多维数组:

# Sample header for python loadtxt
Very random text:¤mixed with¤strings¤numbers
300057¤9989¤34956¤1
110087¤9189¤24466¤4
# EOF
我可以将其全部读取为字符串(未知长度),然后转换为整数和浮点数。我这里有:

import numpy as np
txtdata = np.loadtxt('Mytxtfile.txt',delimiter=chr(164),comments="#",dtype='str')
然而,我想知道是否有可能直接提取到多维数组中。例如:

>>> 
[['Very random text:','mixed with','strings','numbers']
 [300057,9989,34956,1]
 [110087, 9189, 24466, 4]]
我尝试了此dtype命令,但未成功:

dtype=[('a', 'str'),('b','int'),('c','int')]
请注意,NumPy没有可变宽度的“str”dtype。您必须提前指定字节数。例如,
“| S6”
指定一个6字节的字符串数据类型

如果您事先不知道字符串列中可能有多少字节,那么使用以下内容可能更方便:

dtype=None
告诉
genfromtxt
对数据类型进行智能猜测

txtdata = np.loadtxt(
    'Mytxtfile.txt', delimiter=chr(164), comments="#", skiprows=1,
    dtype=[('a', '|S6'), ('b', '<i4'), ('c', '<i4'), ('d', '<i4')])
dtype=[('a', '|S6'), ('b', '<i4'), ('c', '<i4'), ('d', '<i4')]
txtdata = np.genfromtxt('Mytxtfile.txt', delimiter=chr(164), comments="#",
                        names=True, dtype=None)