Уведомления

Группа в Telegram: @pythonsu

#1 Март 4, 2011 15:26:51

awilice
От:
Зарегистрирован: 2010-12-28
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

python+cx_Oracle= ...

Нужен совет в решении следующего вопроса:
программа, которая дает возможность автоматического занесения данных в уже существующие таблицы из друго файла,
(который будет тоже периодически обновляться)
Облазила всё- нашла только инфу о том как сделать эту вручную…
Вобщем,прошу объективных подсказок о том как это возможно осуществить…
P.S изучать python начала лишь недавно,уж не судите ламера, если на самом деле все окажется банально просто=)



Офлайн

#2 Март 4, 2011 17:08:23

Soteric
От:
Зарегистрирован: 2010-09-19
Сообщения: 352
Репутация: +  20  -
Профиль   Отправить e-mail  

python+cx_Oracle= ...

Не совсем понятно что значит “вручную”.



Офлайн

#3 Март 5, 2011 10:54:31

awilice
От:
Зарегистрирован: 2010-12-28
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

python+cx_Oracle= ...

Суть дела оказалась проще, после уточнения задачи:
Есть функция, содержащая(или возвращающая, уж не знаю. как правильнее) данные, которые нужно будет с помощью cursor.execute(''insert…) вставить в таблицу БД Oracle.
Получается. т.к таблиц несколько, каждое обновление нужно делать вручную…что не очень удобно.
Есть ли возможность написать скрипт, который будет делать это автоматически, при условии. что поля таблиц БД не меняются и число самих таблиц постоянно…



Офлайн

#4 Март 5, 2011 11:55:10

ziro
От:
Зарегистрирован: 2009-08-13
Сообщения: 225
Репутация: +  8  -
Профиль   Отправить e-mail  

python+cx_Oracle= ...

Не совсем понял, в чем сложности?

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

Пишется все достаточно легко кучей способов - начиная от тупых

if : cursor.execute(''insert into таблица1 …)

и заканчивая корутинами, в зависимости от личных пристрастий.



Офлайн

#5 Март 5, 2011 12:52:19

awilice
От:
Зарегистрирован: 2010-12-28
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

python+cx_Oracle= ...

Да, это мне понятно, я имела ввиду, что после “cursor.execute(''insert into таблица1 …)” нужно вводить данные вручную, тоесть, values a,b,c,d…into бла- бла…По идее, я должна каждые a,b,c,d (переменные)вбивать каждый раз собственноручно.
И меня интересует. есть ли такая возможность, чтобы python сам распознавал данные и помещал их в базу данных.(например. если в текстовом файле будут данные для определенной таблицы )



Офлайн

#6 Май 25, 2011 23:01:49

Gradient
От:
Зарегистрирован: 2009-06-03
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

python+cx_Oracle= ...

К.О подсказывает: “ну так читай файл питоном, пиши функцию определения для этой таблицы данные? - пихай их туда, иначе для другой? - тогда в другую…”

Почему собственноручно? Что мешает автоматически сгенерировать строку “… values (1, ‘abc’, -3)”?

Формулировка слишком расплывчата, чтобы предлагать что-то более конкретное. Давай свой “например” (по-умному - юз-кейс) поконкретней описывай.



Отредактировано (Май 25, 2011 23:04:22)

Офлайн

#7 Май 26, 2011 09:47:48

agalen
От:
Зарегистрирован: 2011-03-23
Сообщения: 185
Репутация: +  17  -
Профиль   Отправить e-mail  

python+cx_Oracle= ...

Использовать явные values не рекомендуют.
Лучше примерно так:

fields = {
"field1": "Text Line",
"field2": datetime.datetime.now()
}

cursor.execute( "insert into table1 (text_col, date_col) values ( :field1, :field2 )", **fields )



Офлайн

#8 Май 27, 2011 09:52:00

awilice
От:
Зарегистрирован: 2010-12-28
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

python+cx_Oracle= ...

Спасибо, за советы и пример!
Я уже разобралась с этой задачей))



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version