Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.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
List xlrd导入后从列表中配对端口号_List_Slice_Xlrd - Fatal编程技术网

List xlrd导入后从列表中配对端口号

List xlrd导入后从列表中配对端口号,list,slice,xlrd,List,Slice,Xlrd,我在这件事上得到了帮助,配对了这个网站的IP地址。我试图修改相同的脚本以用于配对端口号,但不断得到一个float属性错误。我尝试过改变它,但作为一个新手,我没有取得任何进展,请帮助 这是数据 [“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,

我在这件事上得到了帮助,配对了这个网站的IP地址。我试图修改相同的脚本以用于配对端口号,但不断得到一个float属性错误。我尝试过改变它,但作为一个新手,我没有取得任何进展,请帮助

这是数据 [“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,“”,14001.0e字符串','','','','','','','','','','','','','','','','',''

这是我修改过的剧本 池_端口=[[]]

for x in PPoData[PPoData.index('Pool Member Port'):]:
    if not x:
        if Pool_Ports[-1]:
            Pool_Ports.append([])

    else:
        #Pool_Ports[-1].append(x.partition(' ')[0])


print(Pool_Ports)
错误消息 AttributeError:“float”对象没有属性“partition”

适用于IP地址的上一个链接
这个错误其实很简单。您的输入列表将其端口值(例如,
11001.0
)存储为浮点数,因此代码中断。即时修复方法是在分区之前将
x
强制转换为字符串

Pool_Ports[-1].append(str(x).partition(' ')[0])
然而,输出结果是

[10001.0]、[10001.0]、[11001.0]、[11001.0]、[12001.0]、[, '12001.0'], ['14001.0', '14001.0'], ['14001.0', '14001.0'], ['14001.0', '14001.0'], ['14001.0', '14001.0'], ['14001.0'], ['10001.0'], ['11001.0'], ['12001.0'], ['14001.0'], ['22.0'], ['22.0']、['22.0']、['14001.0']、['Receive']、[]

这不是您需要的,因为它有
['Receive']
[]
这两个无效的池端口

所以,灵感来自@cᴏʟᴅsᴘᴇᴇᴅ '在回答前面的问题时,我建议您使用正则表达式

import re

PPoData = ['', '', '', '', '', '', '', 'Pool Member Port', '', 10001.0, 10001.0, '', '', '', '', '', '', '', 11001.0, 11001.0, '', '', '', '', '', '', '', 12001.0, 12001.0, '', '', '', '', '', '', '', 14001.0, 14001.0, '', '', '', '', '', '', '', 14001.0, 14001.0, '', '', '', '', '', '', '', 14001.0, 14001.0, '', '', '', '', '', '', '', 14001.0, 14001.0, '', '', '', '', '', '', '', 14001.0, '', 10001.0, '', '', '', '', '', '', '', '', 11001.0, '', '', '', '', '', '', '', '', 12001.0, '', '', '', '', '', '', '', '', 14001.0, '', '', '', '', '', '', '', '', 22.0, '', '', '', '', '', '', '', '', 22.0, '', 22.0, '', '', '', '', '', '', '', '', 14001.0, '', '', '', '', '', '', '', '', '', '', '', 'Receive string', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '']

pattern = '\d+\.\d+'

Pool_Ports = [[]]
for x in PPoData:
    if not x and Pool_Ports[-1]:
        Pool_Ports.append([])

    m = re.match(pattern, str(x))
    if m:
        Pool_Ports[-1].append(str(x))

if [] in Pool_Ports:
    Pool_Ports.remove([])
print(Pool_Ports)
# [['10001.0', '10001.0'], ['11001.0', '11001.0'], ['12001.0', '12001.0'], ['14001.0', '14001.0'], ['14001.0', '14001.0'], ['14001.0', '14001.0'], ['14001.0', '14001.0'], ['14001.0'], ['10001.0'], ['11001.0'], ['12001.0'], ['14001.0'], ['22.0'], ['22.0'], ['22.0'], ['14001.0']]

你想要的输出是什么?类似于
['10001.0'、'10001.0'、'11001.0'、…
或者更确切地说
[100011001,…
?事实上,我不知道您需要什么输出,所以如果您能提供一个示例,那就太棒了。