循环不会返回数据

2024-09-27 23:21:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我的代码只循环一次,然后只返回一个数据。下面是我的代码

def test():

for element_regFile in root.findall('country'):
    csvdataElement=[]

    filename=element_regFile.find('name')
    if filename != None:
        filename=filename.text
    else:
        filename='None'
    csvdataElement.append(filename)

    return csvdataElement

然后,我想逐一打印函数的输出,如下所示:

print test()
>>>> [London]
>>>> [Paris]

print语句将在函数外部

下面是我的xml:

    ?xml version="1.0"?>
<data>
    <country >
        <name>London</name>
        <rank>1</rank>
        <abc>123</abc>
        <year>2008</year>
        <gdppc>141100</gdppc>
    </country>
        <country >
        <name>Paris</name>
        <rank>1</rank>
        <year>2010</year>
        <gdppc>68000</gdppc>
    </country>
</data>

它应该返回伦敦和巴黎。但不幸的是,它只返回伦敦


Tags: 代码nametestnoneelementfilenameyearcountry
2条回答
for element_regFile in root.findall('country'):
    csvdataElement=[]
    filename=element_regFile.find('name')
    if filename != None:
        filename=filename.text
    else:
        filename='None'
    csvdataElement.append(filename)
    print(csvdataElement)

这就是缩进问题print语句应该具有与for相同的缩进:

for element_regFile in root.findall('country'):
    csvdataElement=[]

    filename=element_regFile.find('name')
    if filename != None:
        filename=filename.text
    else:
        filename='None'
    csvdataElement.append(filename)

print(csvdataElement)

相关问题 更多 >

    热门问题