Форум сайта python.su
Нужен совет в решении следующего вопроса:
программа, которая дает возможность автоматического занесения данных в уже существующие таблицы из друго файла,
(который будет тоже периодически обновляться)
Облазила всё- нашла только инфу о том как сделать эту вручную…
Вобщем,прошу объективных подсказок о том как это возможно осуществить…
P.S изучать python начала лишь недавно,уж не судите ламера, если на самом деле все окажется банально просто=)
Офлайн
Не совсем понятно что значит “вручную”.
Офлайн
Суть дела оказалась проще, после уточнения задачи:
Есть функция, содержащая(или возвращающая, уж не знаю. как правильнее) данные, которые нужно будет с помощью cursor.execute(''insert…) вставить в таблицу БД Oracle.
Получается. т.к таблиц несколько, каждое обновление нужно делать вручную…что не очень удобно.
Есть ли возможность написать скрипт, который будет делать это автоматически, при условии. что поля таблиц БД не меняются и число самих таблиц постоянно…
Офлайн
Не совсем понял, в чем сложности?
Есть один источник данных - ваша хитрая функция.
Есть несколько приемников данных (таблицы), которые различаются только свойствами (название таблицы, список полей).
Есть какой-то критерий (к сожалению не совсем понятный), по которому данные, поступающие от источника надо скидывать в соответствующий приемник.
Пишется все достаточно легко кучей способов - начиная от тупых
if : cursor.execute(''insert into таблица1 …)
и заканчивая корутинами, в зависимости от личных пристрастий.
Офлайн
Да, это мне понятно, я имела ввиду, что после “cursor.execute(''insert into таблица1 …)” нужно вводить данные вручную, тоесть, values a,b,c,d…into бла- бла…По идее, я должна каждые a,b,c,d (переменные)вбивать каждый раз собственноручно.
И меня интересует. есть ли такая возможность, чтобы python сам распознавал данные и помещал их в базу данных.(например. если в текстовом файле будут данные для определенной таблицы )
Офлайн
К.О подсказывает: “ну так читай файл питоном, пиши функцию определения для этой таблицы данные? - пихай их туда, иначе для другой? - тогда в другую…”
Почему собственноручно? Что мешает автоматически сгенерировать строку “… values (1, ‘abc’, -3)”?
Формулировка слишком расплывчата, чтобы предлагать что-то более конкретное. Давай свой “например” (по-умному - юз-кейс) поконкретней описывай.
Отредактировано (Май 25, 2011 23:04:22)
Офлайн
Использовать явные values не рекомендуют.
Лучше примерно так:
fields = {
"field1": "Text Line",
"field2": datetime.datetime.now()
}
cursor.execute( "insert into table1 (text_col, date_col) values ( :field1, :field2 )", **fields )
Офлайн
Спасибо, за советы и пример!
Я уже разобралась с этой задачей))
Офлайн