Я предлагаю вам использовать python-benedict
, это подкласс dict
, который поддерживает операции ввода-вывода из / в большинство распространенных форматов, включая xml
и csv
.
Установка: pip install python-benedict
Документация: https://github.com/fabiocaccamo/python-benedict
from benedict import benedict as bdict
# xml data-string, or xml filepath or xml url
xml_data = ''
d = bdict.from_xml(xml_data)
d.standardize()
# print the current dict to check it
print(d.dump())
# now convert it to csv:
# keypath (using the dot syntax) to the item that is a list of dicts
items_keypath = 'path.to.list.of.dicts'
# define filepath if you need to save csv to disk
csv_filepath = None
csv_data = d.to_csv(key=items_keypath, filepath=csv_filepath)
print(csv_data)
Очень просто:)