这个问题有很多答案(见Python Math - TypeError: 'NoneType' object is not subscriptable)。我的问题不同,因为我正确地期望np.genfromtxt(...)
返回一个数组(即np.genfromtxt(...)
不是一个就地函数)。在
我正在尝试将以下内容解析并存储到一维数组中:
http://pastie.org/10860707#2-3
为此,我尝试:
pattern = re.compile(b'[\s,]')
theta = np.fromregex("RegLogTheta", regexp = pattern, dtype = float)
这是回溯(应该如何格式化?)公司名称:
^{pr2}$如果要运行此程序,请从:http://pastie.org/10860707#2-3下载文本文件并运行上面的代码。在
文件有多行,用逗号分隔,每行3个数字,除了最后一行只有2个数字
加载了一个简单的“br”read,文件看起来像:
^{pr2}$最后一行缺少的数字将产生
genfromtxt
问题。在你选择的图案是错误的。它看起来像一个分隔符模式。但是
fromregex
文档中的模式生成组:fromregex
可以如果你想使用
fromregex
,你需要想出一个模式来产生一个元组列表,这些元组可以直接转换成数组。在==============
尽管再次查看错误消息,我发现直接的问题是
dtype
。dtype=float
不是此函数的有效数据类型规范。它需要一个复合数据类型(结构化)。在此操作会产生错误,其中
float
是您的dtype
参数:但它试图这么做是因为模式已经产生了
不是它期望的元组列表。在
=================
我可以用
我使用
usecols
暂时解决最后一行只有2个数字的问题。在如果删除
\n
并将其拆分为逗号,则可以直接使用np.array
解析结果文本字段。在此模式包括十进制和科学记数法:
现在我正在创建一个结构化数组并提取该字段。也许有办法解决这个问题。但是
fromregex
似乎倾向于使用结构化数据类型。在相关问题 更多 >
编程相关推荐