awilice
Март 4, 2011 15:26:51
Нужен совет в решении следующего вопроса:
программа, которая дает возможность автоматического занесения данных в уже существующие таблицы из друго файла,
(который будет тоже периодически обновляться)
Облазила всё- нашла только инфу о том как сделать эту вручную…
Вобщем,прошу объективных подсказок о том как это возможно осуществить…
P.S изучать python начала лишь недавно,уж не судите ламера, если на самом деле все окажется банально просто=)
Soteric
Март 4, 2011 17:08:23
Не совсем понятно что значит “вручную”.
awilice
Март 5, 2011 10:54:31
Суть дела оказалась проще, после уточнения задачи:
Есть функция, содержащая(или возвращающая, уж не знаю. как правильнее) данные, которые нужно будет с помощью cursor.execute(''insert…) вставить в таблицу БД Oracle.
Получается. т.к таблиц несколько, каждое обновление нужно делать вручную…что не очень удобно.
Есть ли возможность написать скрипт, который будет делать это автоматически, при условии. что поля таблиц БД не меняются и число самих таблиц постоянно…
ziro
Март 5, 2011 11:55:10
Не совсем понял, в чем сложности?
Есть один источник данных - ваша хитрая функция.
Есть несколько приемников данных (таблицы), которые различаются только свойствами (название таблицы, список полей).
Есть какой-то критерий (к сожалению не совсем понятный), по которому данные, поступающие от источника надо скидывать в соответствующий приемник.
Пишется все достаточно легко кучей способов - начиная от тупых
if : cursor.execute(''insert into таблица1 …)
и заканчивая корутинами, в зависимости от личных пристрастий.
awilice
Март 5, 2011 12:52:19
Да, это мне понятно, я имела ввиду, что после “cursor.execute(''insert into таблица1 …)” нужно вводить данные вручную, тоесть, values a,b,c,d…into бла- бла…По идее, я должна каждые a,b,c,d (переменные)вбивать каждый раз собственноручно.
И меня интересует. есть ли такая возможность, чтобы python сам распознавал данные и помещал их в базу данных.(например. если в текстовом файле будут данные для определенной таблицы )
Gradient
Май 25, 2011 23:01:49
К.О подсказывает: “ну так читай файл питоном, пиши функцию определения для этой таблицы данные? - пихай их туда, иначе для другой? - тогда в другую…”
Почему собственноручно? Что мешает автоматически сгенерировать строку “… values (1, ‘abc’, -3)”?
Формулировка слишком расплывчата, чтобы предлагать что-то более конкретное. Давай свой “например” (по-умному - юз-кейс) поконкретней описывай.
agalen
Май 26, 2011 09:47:48
Использовать явные values не рекомендуют.
Лучше примерно так:
fields = {
"field1": "Text Line",
"field2": datetime.datetime.now()
}
cursor.execute( "insert into table1 (text_col, date_col) values ( :field1, :field2 )", **fields )
awilice
Май 27, 2011 09:52:00
Спасибо, за советы и пример!
Я уже разобралась с этой задачей))