Как видно из вашего примера, весь XML-файл связан с одной и той же компанией.Для меня это звучит, что вам нужно добавить эту новую строку, а не присоединиться к ней в качестве таблицы.В моем понимании вы хотите иметь некоторый список показателей для каждой компании.Если это так, вы, вероятно, можете просто придерживаться хранения значения ключа.Если Python - ваш основной инструмент, используйте словарь, а затем сохраните его как файл JSON.В вашем цикле for просто заполните пустой словарь данными из XML следующим образом:
report = {
"apple": {
'metricSet1': {"m11": 5, "m12": 2, "m13": 3},
'metricSet2': {"m21": 4, "m22": 5, "m23": 6}
},
"google": {
'metricSet1': {"m11": 1, "m12": 13, "m13": 3},
'metricSet2': {"m21": 9, "m22": 0, "m23": 11}
},
"facebook": {
'metricSet1': {"m11": 1, "m12": 9, "m13": 9},
'metricSet2': {"m21": 7, "m22": 2, "m23": 4}
}
}
, когда вам нужно запросить его или заполнить таблицу данными, сделайте что-то вроде этого:
for k in report.keys():
row = [
k,
report[k]["metricSet1"]["m12"],
report[k]["metricSet2"]["m22"],
report[k]["metricSet2"]["m23"]
]
print(row)
Если структура данных не меняется (скажем, все эти XML одинаковы), было бы целесообразно сохранить ее в базе данных SQL, создав таблицу для каждого набора метрик.Если структура XML может отличаться, просто сохраните ее как файл json или, возможно, в какой-либо базе данных на основе значений ключей, например, mongo