python读取数据库数据类型_第二章 如何利用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))

b_0_202007241802223652.png

下面是具体的代码:

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

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值