Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.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 我一直收到这个错误(TypeError:字符串索引必须是整数),我不知道';我不知道为什么_Python_Python 3.x_Pycharm_Signal Processing - Fatal编程技术网

Python 我一直收到这个错误(TypeError:字符串索引必须是整数),我不知道';我不知道为什么

Python 我一直收到这个错误(TypeError:字符串索引必须是整数),我不知道';我不知道为什么,python,python-3.x,pycharm,signal-processing,Python,Python 3.x,Pycharm,Signal Processing,我刚刚开始使用python,所以我在这方面没有太多经验。我正在尝试测试python制作的HRV库或包,以便为我的高级项目处理心电图信号。我正在使用Pycharm作为我的IDE。我正在尝试运行以下代码: from hrv.utils import open_rri from array import array rri = open_rri('C:/Users/PC/Documents/Pycharm/hrv-0.1.1/tests/test_files/test_file_2.hrm') rri

我刚刚开始使用python,所以我在这方面没有太多经验。我正在尝试测试python制作的HRV库或包,以便为我的高级项目处理心电图信号。我正在使用Pycharm作为我的IDE。我正在尝试运行以下代码:

from hrv.utils import open_rri
from array import array
rri = open_rri('C:/Users/PC/Documents/Pycharm/hrv-0.1.1/tests/test_files/test_file_2.hrm')
rri
array('u'[1092.,  879.,  746., ...,  931.,  968.,  958.])
然而,我不断地发现这个错误:

Traceback (most recent call last):
  File "C:/Users/PC/Documents/Pycharm/hrv-0.1.1/tests/__init__.py", line 5, in <module>
    array('u'[1092.,  879.,  746., ...,  931.,  968.,  958.])
TypeError: string indices must be integers
回溯(最近一次呼叫最后一次):
文件“C:/Users/PC/Documents/Pycharm/hrv-0.1.1/tests/_init__.py”,第5行,在
数组('u'[1092,879,746.,…,931,968,958.]))
TypeError:字符串索引必须是整数
谢谢你的帮助


谢谢。

您需要从阵列创建中删除
'u'
,使其看起来像:

from hrv.utils import open_rri
from array import array
rri = open_rri('C:/Users/PC/Documents/Pycharm/hrv-
0.1.1/tests/test_files/test_file_2.hrm')
rri
array([1092.,  879.,  746., ...,  931.,  968.,  958.])
按照当前编写的方式,
'u'
被视为一个字符串,[]中的任何内容都被视为要检索的索引。索引值必须是int,但您指定的是浮点值,因此会出现错误。如果需要每个值都是Unicode值,可以将该数字放入char()函数中

array([char(1092), char(879), ......, char(958)])

如果你有相当多的值,那么你可以在值列表中循环,将它们的字符版本附加到一个新的列表中,然后转换成一个数组。

这个
'u'
是怎么回事?你能告诉我你想做什么吗?请阅读。我添加“u”的原因是它必须是unicode。因此,当删除它时,会出现以下错误:TypeError:array()参数1必须是unicode字符,而不是list