заполнение данных от XML-файла до sqlite базы данных с помощью Python

Мне связали вопрос с некоторыми руководствами для решения проблемы. У меня есть со мной XML-файл, я должен заполнить его в систему баз данных (безотносительно, это мог бы быть sqlite, mysql), использующий язык сценариев: Python.

У кого-либо есть какая-либо идея о том, как продолжить двигаться?

  • Какие технологии я должен считать далее?
  • Какие среды я должен установить?
  • Какие-либо учебные руководства по той же теме?

Я уже попытался проанализировать xml, использующий и основанным на дереве и методом саксофона на другом языке, но запускаться с Python, я не знаю, где запустить. Я уже знаю, как разработать базу данных, в которой я нуждаюсь.

Другой вопрос, действительно ли Python один возможный из выполняющейся базы данных ddl запросы?

7
задан fx. 18 January 2010 в 10:55
поделиться

2 ответа

Я рекомендую вам учиться на ElectionTree Для анализа вашего XML-файла в память (анализировать все все, а затем излучает все это на SQL DB, вероятно, проще, но элемент-дерево также обеспечивает инкрементную работу, если ваш файл огромен) - это часть Стандартной библиотеки Python в качестве модуля xml.etree .

Я рекомендую SQLite3 (также в стандартной библиотеке Python) в качестве реляционной БД выбора (если у вас есть выбор), снова, потому что он удобно и легко - базовая встроенная реляционная БД SQLite Хорошо документировано в своего собственного сайта . Если вам нужен общий урок на том, как Python любит интерфейс для реляционных DBS («DB-API»), здесь приятный здесь .

Как только вы полностью понимаете ETREE и SQLite3 - и вам не обязательно надо устанавливать любого вещь для либо (что является частью их прелестей ;-) - вы в основном все настроен. (Конечно, установка сама SQLite (командная линия и / или инструменты GUI), чтобы вы могли посмотреть ваши файлы БД и настраивать их, могут быть приятными, как могут графические редакторы XML, такие как Oxygen или XMLMind Чтобы посмотреть и / или настроить свой XML, но ни один из них не является необходимым , не совсем не связано с использованием Python, а не на других языках для анализа XML и SQLite STAPLITE ;-) Отказ

И да, вы можете совершенно хорошо делать Create Table и другие запросы DDL из SQLite3 (и любой другой, совместный модуль Python DB-API, если вы решите использовать другие реляционные добу ;-).

10
ответ дан 6 December 2019 в 11:49
поделиться

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

Многие системы обеспечивают отложенную привязку в качестве функции компоновщика/загрузчика, а также можно использовать явные вызовы, такие как dlopen (для открытия общей библиотеки) и dlsym (для получения адреса символа внутри этой библиотеки, чтобы получить доступ к ней или вызвать ее).

Единственным полупортативным способом получения позднего связывания со стандартом C было бы использование некоторой хитрости с системой () и даже, по крайней мере, частично, специфичной для реализации.

Если вы говорите не столько об отложенном связывании, сколько о полиморфизме, вы можете достичь этого эффекта с помощью указателей функций. В основном создается структура , которая содержит все данные для типа вместе с указателями функций для поиска методов для этого типа. Затем в «конструкторе» (как правило, функции init () ) задаются указатели функций для соответствующих функций этого типа.

Вам все еще нужно включить весь код, даже если вы не используете его, но это возможно, чтобы получить полиморфизм, который путь.

-121--3329768-

Это короткая презентация на OpenSessionInView with Wicket.

При правильном использовании подход OpenSessionInView должен гарантировать отсутствие LazyInitializationException .

-121--1918196-

Если вы привыкли к DOM (дерево) доступ к xml с другого языка, вы можете найти полезные эти стандартные библиотечные модули (и их соответствующие документы):

  • xml.dom
  • xml.dom.minidom

Для сохранения этих данных в БД можно использовать стандартный модуль sqlite3 или вид Или вы можете использовать нечто более абстрактное, как SQLAlchemy или Django's ORM.

1
ответ дан 6 December 2019 в 11:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: