楼主: shadowaver
1084 4

[程序分享] pyhton读取各种数据库数据的两种方式 [推广有奖]

随心所欲不逾矩

已卖:1243份资源

教授

56%

还不是VIP/贵宾

-

威望
0
论坛币
8309 个
通用积分
689.8825
学术水平
18 点
热心指数
22 点
信用等级
13 点
经验
29709 点
帖子
890
精华
0
在线时间
1375 小时
注册时间
2007-9-27
最后登录
2026-1-22

楼主
shadowaver 在职认证  发表于 2024-6-17 11:03:47 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
pyhton读取各种数据库数据的两种方式
1.通过pandas模块中的pd.read_sql() or pd.read_sql_query()读入到df中
2.通过database的指针

以oracle数据库为例:

example 1
conn = oracledb.connect("user/pwd@host:port/db_name")
if conn:
    print('success')
import pandas as pd
sql='SELECT * FROM  dbname.LMALL'

df=pd.read_sql(sql,conn)
conn.close()
把结果读入到df中,再进行下一步的分析
df
df.info()
df.describe().T

example 2
conn = oracledb.connect("user/pwd@host:port/db_name")
if conn:
    print('success')
cursor=conn.cursor()
sql='select sysdate from dual'
cursor.execute(sql)

rows = cursor.fetchall()
--通过指针逐行遍历数据记录,在循环体中可以通过append的方式建立数据集

for row in rows:
    print(row)
conn.close()

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:数据库数据 数据库 database describe Connect pyhton读取各种数据库数据的两种方式

shadowaver@163.com
QQ 540722048

沙发
赵安豆 发表于 2024-6-18 13:25:54
在Python中读取数据库数据的两种主要方式如下:

### 1. 使用Pandas模块

使用`pandas`库中的`read_sql()`或`read_sql_query()`函数可以直接将SQL查询结果转化为DataFrame,便于数据分析和处理。

#### 示例代码:

```python
import oracledb
import pandas as pd

# 建立数据库连接
conn = oracledb.connect("user/pwd@host:port/db_name")
if conn:
  print('成功建立连接')

# 定义SQL查询语句
sql='SELECT * FROM dbname.LMALL'

# 使用read_sql()函数执行SQL并读取结果到DataFrame中
df=pd.read_sql(sql,conn)

# 关闭数据库连接
conn.close()

# 打印DataFrame的信息和描述性统计信息
print(df)
print(df.info())
print(df.describe().T)
```

### 2. 使用原生的数据库指针(Cursor)

这种方式不通过`pandas`,而是直接使用数据库模块提供的游标对象执行SQL语句,并处理结果集。

#### 示例代码:

```python
import oracledb

# 建立数据库连接
conn = oracledb.connect("user/pwd@host:port/db_name")
if conn:
  print('成功建立连接')

# 创建游标
cursor=conn.cursor()

# 定义SQL查询语句
sql='SELECT sysdate FROM dual'

# 使用游标执行SQL
cursor.execute(sql)

# 获取所有结果(对于大量数据,考虑使用fetchone()或fetchmany())
results = cursor.fetchall()

# 处理结果(遍历、格式化等操作)
for result in results:
    print(result)

# 关闭游标和数据库连接
cursor.close()
conn.close()
```

以上两种方式均可实现Python与Oracle数据库的数据交互,选择哪一种取决于具体需求:如果需要进行数据分析或数据处理,推荐使用Pandas;如果是复杂的事务处理或者大量数据读取,可能直接使用数据库模块的原生功能更高效。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



藤椅
shadowaver 在职认证  发表于 2024-6-18 13:29:16
赵安豆 发表于 2024-6-18 13:25
在Python中读取数据库数据的两种主要方式如下:

### 1. 使用Pandas模块
此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用

板凳
HappyAndy_Lo 发表于 2024-6-19 09:04:30

报纸
albertwishedu 发表于 2024-6-19 09:04:51

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-27 13:01