У меня есть информация о продукте в различных объектах, описание продукта и основные характеристики продукта. у обоих этих объектов есть product_id, поэтому я могу связать их вместе.
decription_items
- это список словарей, например:
[
{'product_id': '123', 'description': 'desc1', 'price': '$40' },
{'product_id': '124', 'description': 'desc2', 'price': '$50' },
{'product_id': '125', 'description': 'desc3', 'price': '$99' },
]
product_highlight_dict
- словарь (product_id, ProductHighlight
)
{
'123': <product_123_highligh>,
'124': <product_124_highligh>,
'125': <product_125_highligh>,
}
и, наконец, ProductHighlight
- это класс:
class ProductHighlight:
def __init__(self, product_id, location, area):
self.product_id = product_id
self.location = location
self.area = area
Я хочу объединить эти два типа и записать их в xml документ, в следующем коде я могу объединить два типа:
for description_item in self.decription_items:
product_id = .get('product_id')
if product_id:
product_highlight = spider.product_highlight_dict.get(product_id)
# I don't know how to combine description_item and
# product_highlight and write them to an xml
Обновление
Я использую следующий код для записи product_highlight_dict
в xml. Я не знаю, как включить description_item
в следующий лог c?
highlights = []
for k in self.product_highlight_dict:
highlights.append(vars(self.product_highlight_dict[k]))
xml = dicttoxml.dicttoxml(highlights, custom_root='product_highlights')
file = open('filename', "wb")
file.write(xml)
file.close()