当前位置: 移动技术网 > IT编程>脚本编程>Python > 第二章 如何利用Python读取Oracle表数据和表头转化为字典类型

第二章 如何利用Python读取Oracle表数据和表头转化为字典类型

2020年07月24日  | 移动技术网IT编程  | 我要评论

第一章跟大家说了如何链接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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网