Python For循环停止时出错,但未完成
我正在尝试使用下面的代码将xml文件转换为df。它目前正在创建一个4x21 df循环。然而,数据集中有1000多个停车场,因此我预计会有1000 x 21 dfPython 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
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
数据集可以在这里找到-数据集太大,无法发布