Как разделить xml файл на части
Перейти к содержимому

Как разделить xml файл на части

  • автор:

Разбить xml файл на част

Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Есть большой xml файл бд — 11gb, нужно из него выделить сегмент по определенным параметрам(результат в .xls, а также сам файл разбить на более маленькие.

3 года назад
35 лет Россия
4 года в сервисе
3 года назад
Похожие заказы

Доработка онлайн системы управления типографией

Требуется доработка онлайн системы управления типографией. Доработки связаны с расширением функционала системы. Доработки будут касаться как фронтэнда так и бэкенда системы. [list][*]Бэкэнд системы — ASP.NET, [*]Фронтэнд — React, [*]База данных — MS SQL.[/list]Работа ведется спринтами. Технические .

3 года назад

Необходимо посчитать индексы биологического разнообразия рыб

Имеется таблица данных, необходимо посчитать индексы: разнообразие Шеннона, богатство Маргалефа, доминирование Бергера-Паркера, выравненность Шеннона для 3 разных водоемов до 1 сентября.(250 р)

3 года назад

Простой личный кабинет и связать с другими бд.

Нужно создать минимальный личный кабинет с базой данных (логин по емейлу, регистрация, восттановление пароля через емейл) Основная задача это связать его с 2мя базами данных. Привязка аккаунта к другим базам данных по емейл через подтверждение с токеном .

3 года назад

Настроить значения по умолчанию в БД MS Access

Есть база данных MS Access. В ней есть форма для начисления абонплаты. Для начисления абонплаты бухгалтер добавляет запись в таблице. В данной записи присутствует дата операции, количество объектов, стоимость каждого объекта в месяц и период. Задача: Значения .

3 года назад

База данных системных блоков

Хочется бы написание программы где можно было бы указать у кого числится системный блок, какие комплектующие входят в системный блок (название материнской платы, оперативной памяти, объем какой оперативной памяти, обьем ссд диска и т.д.), инвентарный .

3 года назад

Импортнуть товары из csv в webasys

Здравствуйте!Есть csv с папкой фоток, нужно импортнуть товары средствами цмс Webasyst Shop-Script или напрямую в БД.Вот таблица с товаром [url=https://freelancehunt.com/out/https%3A%2F%2Fcloud.mail.ru%2Fpublic%2Fs2Xz%2F2QeqJXHye]https://cloud.mail.ru/public/s2Xz/2QeqJXHye[/url] Товары должны импортнуться как здесь [url=https://freelancehunt.com/out/https%3A%2F%2Fvdgu.ru%2Fcatalog%2Fsg%2Fkommunalnye%2F285.html]https://vdgu.ru/catalog/sg/kommunalnye/285.html[/url]Пишем стоимость и сроки

3 года назад

Фид данных для Мерчанта на CMS PrestaShop

Нужно: 1. помочь с выбором и поставить модуль для выгрузки фида данных для Мерчанта 2. собственно сформировать сам Фид с базовым набором атрибутов в формате .xml. 3. оценить, потянет ли хостинг ежедневное автообновление и если ок, то настроить .

3 года назад

Разработать web-приложение на java с использованием SQL базы данных.

Необходимо разработать web-приложение на java с использованием SQL базы данных. В приложении должно быть разделение пользователей по ролям и функциям, к которым роль имеет доступ. 1. Администратор создает Компанию, раздает роли Пользователям. Пользователи: Пользователь 1, Главный .

3 года назад

Консультация по оптимизации кода и БД для сайта

Нужна консультация по оптимизации кода и БД для сайта https://football-fun.ru/ Сайт сделан на ларавел. Изначально не рассчитывали, что получится такой объемный проект, так как ранее с таким не работали. Теперь нужна помощь от человека, который работал .

3 года назад

Viber Bot Python

Необходимо переписать текущего бота написанного на PHP ,на Python Изменить архитектуру и добавить базу данных

Разделение большого xml файла на несколько файлов меньшего объема (строк)

Author24 — интернет-сервис помощи студентам

Задача состоит в том что есть 1 большой xml файл (содержащий 150000 строк) нужно разделить на файлы меньшего объёма (например по 1000 строк) и в дальнейшем все их сохранить отдельными документами (например file1,file2.. и т.д.), то есть каждый последующий файл должен в себе содержать 1000 строк из основанного и так пока не закончатся все строки, следовательно последний же документ должен содержать в себе остатки (допустим 875 строк). И все это нужно сделать в C#

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Парсер xml файлов большого объёма
Всем привет! Хочу написать парсер для xml файла размером 15гб на PHP Возможно ли это? У меня не.

Разделение содержимого текстового файла на несколько файлов
Коллеги, всех приветствую, Нужна ваша экспертная помощь Проблема такая, есть файл, имя.TXT в нем.

Несколько ISO большого объема
Всем здравствуйте. Не могу понять, как сделать следующее: Требуется сделать три iso образа, с.

Вставить узел большого объема из одного xml-документа в другой
Добрый день! Вопрос в следующем: необходимо вытащить определенный узел из одного хмл-документа и.

Администратор

Эксперт .NET

16746 / 13156 / 5155
Регистрация: 17.03.2014
Сообщений: 26,825
Записей в блоге: 1

GrandLo, структура XML документа известна? Если да, ты выложите часть и напишите где хотите проводить границу для разделения.

Регистрация: 12.01.2021
Сообщений: 3

OwenGlendower,

Граница в принципе видна

Эксперт .NET

11947 / 8270 / 1259
Регистрация: 21.01.2016
Сообщений: 31,091

GrandLo, ну, если заранее известно, что размер файла 150К строк и больше (в сторону уже миллионов) не может быть, то можно воспользоваться обычной десериализацией. Т.е. завести класс описывающий структуру документа и десериализовать этот документ в коллекцию таких классов. А потом уже в цикле сериализовывать назад, но уже порциями по 1000 штук.

Если файл может быть неизвестно каким огромным, то уже можно задействовать более сложный вариант, но более эффективный: SAX в лице класса XmlReader .

2635 / 1563 / 853
Регистрация: 23.02.2019
Сообщений: 3,876

Если весь xml состоит только из одинаковых тегов (в данном случае ), то может просто читать файл построчно как обычный txt и копировать нужное кол-во строк в отдельные файлы?

Эксперт .NET

11947 / 8270 / 1259
Регистрация: 21.01.2016
Сообщений: 31,091

samana, XML не гарантирует расположение тегов на разных строках. Валидный XML может быть и в одну строку.

2635 / 1563 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
Usaga, Я об этом не подумал.. Спасибо. Идея не сработала.
Регистрация: 12.01.2021
Сообщений: 3

Usaga, Можешь поподробнее рассказать о SAX в лице класса XmlReader, а то я что-то не совсем понял.
Или пример может какой-нибудь есть?

Эксперт .NET

11947 / 8270 / 1259
Регистрация: 21.01.2016
Сообщений: 31,091
GrandLo, можете погуглить примеры работы с этим классом. Название-то я озвучил)
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Обработка большого объема текстовых файлов
Необходимо определить по координатам в файлах(около 10000) к какому из этих файлов принадлежат.

Ошибка в записи большого объема строк в txt
Привет камрады! Работаю с большими файликами, csvшки более гига размером. Нужно было выдрать.

Облако. И скачка из него файлов большого объема + progressbar
Здравствуйте. Посоветуйте облако и пример для скачивания с него файлов. Версия Delphi: Последняя.

Разделение pdf-файла на несколько pdf-файлов
Здравствуйте, подскажите как разделить файл pdf — состоящий из n-страниц, на несколько файлов pdf.

Разделение файла с большого на мелкие
Нужно прочитать большой файл, определить сколько в нем строк и разбить его по 5% от его общего.

Разделение большого Excel файла н
Добрый день. Есть большой Excel файл в 35000 строк. Есть интервалы строк, по которым нужно разбить.

Или воспользуйтесь поиском по форуму:

Как разделить большой xml-файл размеров 1 гб на множество по 20 мб?

Мне дали большой xml-файл, который мне требуется импортировать на сайт, но компонент отвечающий за импорт принимает только файлы меньше 20 МБ. Можно ли с помощью алгоритма на python из одного большого xml-файла достать все данные и равномерно распределить на множество небольших по 20 и меньше мегабайт? Под «равномерно распределить» я имею ввиду что бы файл заканчивался на и в один файл не попадал и его дочерние элементы из другого файла. Каждый блок весит от силы полмегабайта-мегабайт. Пример одного блока в файле:

   path/to/img1.jpg path/to/img2.jpg path/to/img3.jpg  <item>Название</item>  Около 50-100 строк html кода  Product weight: 1.2 kg Package weight: 1.3 kg   

Отслеживать
задан 7 авг 2019 в 16:32
471 6 6 серебряных знаков 13 13 бронзовых знаков
У вас есть агрантия, что любой блок в этом XML не больше 20мб?
7 авг 2019 в 16:47

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

from lxml import etree data = """  path/to/img1.jpg path/to/img2.jpg path/to/img3.jpg  <item>Название</item>  Около 50-100 строк html кода  Product weight: 1.2 kg Package weight: 1.3 kg   """ data = data*3 # Для пример будет 3 одинаковых дерева class Saver: name = '/путь/к/название_файла_<>.xml' # Скобки '<>' - место для счетчика. start_id = 0 nblocks = 2 # ' # Т.к. у нас получается битый xml (множество одинаковых тегов в корне) parsed = etree.fromstring(data).findall('root') saver = Saver() for i in parsed: saver(etree.tostring(i, encoding='unicode')) del saver # Это удаляет объект saver и сохраняет последний файл. 

Не забудь убрать: data = data*3 При проблемах с кодировкой на Windows, замените ‘w’ на ‘ab’ в open и удалите encoding=’unicode’ из tostring .

Отслеживать
ответ дан 7 авг 2019 в 19:57
Anton Abrosimov Anton Abrosimov
2,233 9 9 серебряных знаков 26 26 бронзовых знаков
Комментарии не предназначены для расширенной дискуссии; разговор перемещён в чат.
7 авг 2019 в 21:44

Имя файла подкорректировал? name = ‘/tmp/блок_<>.xml’ ? Скобки <> в нем есть? Воткни print(name) после f.write(self._cur_block_str) и посмотри, куда запись идет. nblocks = 2 — количество блоков на один файл не слишком большое?

Разбить XML файл на несколько частей.

Есть что-то готовое для резки XML (хотя с трудом представляю как. ) на части. Мне надо распилить файл где-то на 20 частей.

Suntechnic ★★★★★
26.11.13 02:12:45 MSK

По каким критериям резать? Надо ли на выходе получать well-formed/valid XML?

Скорее всего, кури XPath и XSLT.

anonymous
( 26.11.13 02:16:44 MSK )

есть многое на свете, друг горацио, что и не снилось нашим мудрецам

chg ★★★★★
( 26.11.13 02:28:45 MSK )

xmllint —help | grep xpath; xslt

visual ★★★
( 26.11.13 02:36:13 MSK )
Последнее исправление: visual 26.11.13 02:36:24 MSK (всего исправлений: 1)

Ответ на: комментарий от anonymous 26.11.13 02:16:44 MSK

Надо ли на выходе получать well-formed/valid XML?

Да. Допустим порезать между тегами 2 уровня вложенности.

Suntechnic ★★★★★
( 26.11.13 02:50:14 MSK ) автор топика
Ответ на: комментарий от Suntechnic 26.11.13 02:50:14 MSK

Подозреваю тебе прийдется сделать это «аналитически». Используя любую библиотеку считывать, зная формат определять в место разрыва (зная формат его можно определить), например если дерево двухуровневое, можно складывать ~50% тегов в один файл и 50% в другой, дублируя корень. Не думаю что есть универсальный инструмент для такого. Это же как резать без рентгена.

trashymichael ★★★
( 26.11.13 10:07:14 MSK )
Ответ на: комментарий от trashymichael 26.11.13 10:07:14 MSK

Ну в итоге я так и сделал. Просто думал возможно есть инструмент.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *