Python 我一直收到这个错误(TypeError:字符串索引必须是整数),我不知道';我不知道为什么
我刚刚开始使用python,所以我在这方面没有太多经验。我正在尝试测试python制作的HRV库或包,以便为我的高级项目处理心电图信号。我正在使用Pycharm作为我的IDE。我正在尝试运行以下代码: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
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