У меня есть файл с данными переполнения стека в формате .xml, почти 27 ГБ, и я хочу преобразовать их в CSV-файл. Пожалуйста, скажите мне, инструменты для преобразования xml в файл csv или программу python.Как преобразовать xml-файл переполнения стека в файл csv
ответ
Используйте один из модулей xml python для анализа XML-файла. Если у вас не намного больше 27 ГБ, вам нужно будет сделать это постепенно, поэтому ограничьте свой выбор соответствующим образом. Используйте CSV-модуль для записи CSV-файла.
Ваша настоящая проблема в этом. Файлы Csv - это строки полей. Они представляют собой прямоугольную таблицу. Xml-файлы, в общем, могут представлять более сложные структуры: иерархические базы данных и/или несколько таблиц. Таким образом, ваша реальная проблема - понять формат дампа данных достаточно хорошо, чтобы извлечь записи для записи в CSV-файл.
Я написал функцию PySpark для синтаксического анализа .xml в .csv. XmltoCsv_StackExchange - это реплика github. Использовал его для конвертирования 1 ГБ xml в течение 2-3 минут на минимальную 2-ядерную и 2 ГБ оперативную память Spark. Он также может конвертировать 27-гигабайтный файл, просто увеличивайте minPartitions от 4 до 128 в этой строке.
raw = (sc.textFile(fileName, 4))
Посмотрите на связанные вопросы и на возможную помощь. –