Измените <class 'cx_Oracle.Cursor'> на список или dict в Python

Я работаю над кодом для извлечения данных с сервера, а затем строю два столбца данных в python. Я использую библиотеку cx_Oracle и могу получать данные.

Но, как я проверил, тип получаемых данных - class 'cx_Oracle.Cursor'.

Как я могу изменить тип данных на список или словарь:

import cx_Oracle

conn_str = u'user/pass@IP1:1521/STAT4P'
conn = cx_Oracle.connect(conn_str)
c = conn.cursor()
sql='''select ne,sdate,slot_no,subrack_no,ID_73393960 as HIII,ID_73410486 from Huawei_wcdma.UDSP60 where ne=:name'''

# c.execute(u'select ne,sdate,slot_no,subrack_no,ID_73393960,ID_73410486 from Huawei_wcdma.UDSP60')
c.execute(sql,name = "AQRNCH01")
print(type(c))

Я хочу построить график sdate против ID_73393960, но как?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
658
1

Ответы 1

В вашем коде «c» - это курсор ... это НЕ ваши данные. вам нужно вытащить данные с помощью команды выборки. Это пример из учебника cx_oracle с использованием fetchone () -

https://github.com/oracle/python-cx_Oracle/tree/master/samples/tutorial (Попробуйте это руководство, чтобы изучить остальные методы объекта курсора)

import cx_Oracle

con = cx_Oracle.connect("pythonhol", "welcome", "localhost/orclpdb")
cur = con.cursor()

cur.execute("select * from dept order by deptno")
row = cur.fetchone()
print(row)

row = cur.fetchone()
print(row)

Спасибо, Пол за ваш ответ, но мои данные представляют собой матрицу статистических данных 1000 * 10 000, и, используя это, у меня будет только один rpw данных, я прав? как получить все данные в столбце?

Sadegh 27.03.2018 06:51

Cursor работает как итератор? Предполагается, что это реализация PEP 249 / DB-API2. Не то чтобы next(cur) был чище, чем cur.fetchone(), но, например, экспрессия генератора над cur намного яснее, чем экспрессия генератора над iter(cur.fetchone, None).

abarnert 27.03.2018 06:53

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

Paul Becotte 27.03.2018 08:47

Другие вопросы по теме