第二章 如何利用Python读取Oracle表数据和表头转化为字典类型
第一章跟大家说了如何链接Oracle,这边就不多说了,那就开始接下来的操作
目的: 把表头与字段值转化为字典的形式
操作步骤:
一、导入cx_Oracle
import cx_Oracle
二、链接数据库
conn = cx_Oracle.connect(“用户名/密码@host:port/service_name”)
三、创建一个游标对象
cur = conn.cursor()
四、执行sql语句
1、准备sql语句
sql = “SELECT * FROM dual where ID = 69”
2、执行sql语句
res = cur.execute(sql)
五、提取sql语句查找的全部内容
data = cur.fetchall()
六、获取表字段与值的键值对
1、for循环遍历data(数据结果为列表里的元素是元祖,每个元祖是一条记录),将遍历出来的元祖转化为列表
for i in data:
list1 = list(i)
2、获取表字段
des = cur.description
print("表的描述:", des)
3、通过for循环遍历des(数据结果为列表里的元素是元祖,每个元祖包含类型、取值范围等等),将遍历出来的元祖的第一个字段读取出来,以逗号隔开
t = “,”.join([item[0] for item in des])
4、利用字符串split方法通过逗号分离,保存到列表里
watch_head = t.split(’,’)
5、通过zip打包的方式,把表字段与值变成字典类型
dict1 = dict(zip(watch_head, list1))
print(type(dict1))
下面是具体的代码:
import cx_Oracle
# 第一步:链接数据库
conn = cx_Oracle.connect(conn = cx_Oracle.connect("用户名/密码@host:port/service_name"))
# 第二步:创建一个游标对象
cur = conn.cursor()
# "user/password@host:port/service_name"
# 第三步:执行sql语句
# 1、准备sql语句
# sql = conf.get_str("SQL", "sql1")
sql = "SELECT * FROM dual where ID = 69"
# 2、执行sql语句
res = cur.execute(sql)
# print(res)
# 第四步:提取sql语句查找的内容
data = cur.fetchall()
# print(data)
for i in data:
list1 = list(i)
# print(list1)
des = cur.description
# print("表的描述:", des)
t = ",".join([item[0] for item in des])
print(type(t))
watch_head = t.split(',')
print(watch_head)
dict1 = dict(zip(watch_head, list1))
print(dict1)
# print(dict1['ID'])
本文地址:https://blog.csdn.net/weixin_45282113/article/details/107532792
上一篇: 大数据所具备的解决方案有哪些