Для работы с xml нам понадобится модуль xml.etree.ElementTree, а для работы с csv - модуль csv. Исходный код: #Импорт необходимых модулей
import xml.etree.ElementTree as et
import csv
#Открываем файл data.csv на чтение. Если его нет, то он интерпретатор его создаст автоматически
result_data = open('data.csv', 'w')
#Записываем в tree данные из xml
tree = et.parse('products.xml')
#Считываем содержимое корневого элемента
root = tree.getroot()
#Создаем список заголовков для записи первой строки в файл data.csv
result_head = []
#Добавляем заголовки в список
result_head.append('category')
result_head...
Oracle отдает значения элементов XML файла посредством пакетных функций. Задача Часто "программисты" и "базисты" - иногда с веселой взаимной иронией, иногда довольно жестко - спорят о том, что есть база. Для ортодоксальных программистов база - это лишь хранилище данных, а вся обработка ведется в программном коде; для ортодоксальных базистов база - это всё, а программный код над ней - это что-то не очень-то и нужное, благо Oracle APEX дал им в руки мощный козырь в этом споре. Намедни пришлось решить задачу, подход к которой идеологически показался еще более решительным...