Python For循环停止时出错,但未完成

Python For循环停止时出错,但未完成,python,python-3.x,xml,for-loop,Python,Python 3.x,Xml,For Loop,我正在尝试使用下面的代码将xml文件转换为df。它目前正在创建一个4x21 df循环。然而,数据集中有1000多个停车场,因此我预计会有1000 x 21 df import xmltodict import pandas as pd sites = [] n = 0 with open('CarParkData_1.xml', 'r') as f: data = xmltodict.parse(f.read())['CarParkDataImport'] for car

我正在尝试使用下面的代码将xml文件转换为df。它目前正在创建一个4x21 df循环。然而,数据集中有1000多个停车场,因此我预计会有1000 x 21 df

import xmltodict
import pandas as pd

sites = []

n = 0

with open('CarParkData_1.xml', 'r') as f:
    data = xmltodict.parse(f.read())['CarParkDataImport']

    for carpark in data:
        a = data['CarPark'][n]
        sites.append(a)
        n=n+1


df = pd.DataFrame(sites)
df.shape
为了获得完整的数据集,我需要嵌套循环,如下所示

import xmltodict
import pandas as pd

sites = []

n = 0

with open('CarParkData_1.xml', 'r') as f:
    data = xmltodict.parse(f.read())['CarParkDataImport']

    for carpark in data:
        b = data['CarPark'][n]
        sites.append(b)
        n=n+1

        for carpark in data:
            b = data['CarPark'][n]
            sites.append(b)
            n=n+1

            for carpark in data:
                b = data['CarPark'][n]
                sites.append(b)
                n=n+1

                for carpark in data:
                    b = data['CarPark'][n]
                    sites.append(b)
                    n=n+1       

                    for carpark in data:
                        b = data['CarPark'][n]
                        sites.append(b)
                        n=n+1



df = pd.DataFrame(sites)
df.shape
现在输出为(1364,21)。看起来有些数据只有20个元素,而不是21个元素,我想知道这是否是原因。有没有人知道这为什么不起作用,或者是一个更好的解决方法


数据是开放源代码的英国停车场数据。

数据中停车场的循环
正在对
数据
字典中的键进行迭代。您应该迭代所有
数据['CarPark']

不需要循环,只需分配列表:

sites = list(data['CarPark'])

你能提供一个“CarParkData_1.xml”的示例吗?我很难理解这段代码是如何工作的。您不断覆盖变量
b
data
数据集可以在这里找到-数据集太大,无法发布