Я работаю над кодом для извлечения данных с сервера, а затем строю два столбца данных в 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, но как?






В вашем коде «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)
Cursor работает как итератор? Предполагается, что это реализация PEP 249 / DB-API2. Не то чтобы next(cur) был чище, чем cur.fetchone(), но, например, экспрессия генератора над cur намного яснее, чем экспрессия генератора над iter(cur.fetchone, None).
Я говорил, что, хотя мой ответ - это конкретная ошибка, о которой вы спрашивали, вам нужно будет прочитать документацию, чтобы ответить на следующие три проблемы, которые у вас могут возникнуть.
Спасибо, Пол за ваш ответ, но мои данные представляют собой матрицу статистических данных 1000 * 10 000, и, используя это, у меня будет только один rpw данных, я прав? как получить все данные в столбце?