Python读写数据库的几种方式

本文介绍了Python操作数据库的多种方式,包括使用SQLAlchemy驱动连接MySQL和Redshift,以及常见驱动如pymysql、pymongo、redis和sqlite3。特别地,详细阐述了如何使用pydbclib库进行增删改查操作,提供统一的SQL占位符,并给出了将DataFrame数据存入内存数据库的示例。
摘要由CSDN通过智能技术生成

一、SQLAlchemy driver

SQLAlchemy 通过create_engine 创建驱动

1. mysql

from sqlalchemy import create_engine

dbtype='mysql+pymysql'
dbname = 'localhost:3306/dbname'
user='user'
password='password'

#engine = create_engine("mysql+pymysql://user:password@localhost:3306/dbname?charset='utf8'")
#engine = create_engine("mysql+pymysql://user:password@localhost:3306/dbname")
engine = create_engine("{}://{}:{}@{}".format(dbtype, user, password, dbname))  #创建驱动
con = engine.connect()  # 创建连接

2. redshift

from sqlalchemy import create_engine
import pandas as pd

dbtype='postgresql'
dbname = 'hostname:port/dbname'
user='user'
password='password'

engine = create_engine("{}://{}:{}@{}".format(dbtype, user, password, dbname))  #创建驱动

# 读取数据
sql = 'select * from xxx limit 10'
data = pd.read_sql(sql, engine)

# 写入数据
data = pd.DataFrame(np.array(range(12)).reshape(3,4))
con = engine.connect()  # 创建连接
data.to_sql(name=target_table_name, con=con, if_exists="replace", index=False, chunksize=10)  # index = False 不插入索引

其他数据库

数据库 连接方式
redshift postgresql://user:password@hostname:5439/dbname
mysql mysql+pymysql://user:password@hostname:6001/dbname
sql server mssql+pymssql://user:password@hostname:port/dbname

二、common driver

1. pymysql

import pymysql

db = pymysql.connect('localhost', 'user', 'password', 'dbname', charset='utf8')
cursor = db.cursor()  # 使用cursor方法 获取操作游标

cursor.execute('select version()')  # 使用execute方法 执行sql语句
data = cursor.fetchone()  # 使用fetchone()方法 获取一条数据
db.close()  # 关闭数据库连接

2. pymongo

import pymongo

db_client = pymongo.MongoClient('mongodb://localhost:27017/')
test_db = db_client['test_db']  # 切换到testdb测试数据库
sites_obj = test_db['sites']  # 切换到sites文档(表)
first_data = sites_obj.find_one()  # find_one()方法 查询集合中的一条数据
print(first_data
Python读写数据集可以使用多种方式,以下是其几种常用的方式: 1.使用Pandas库读写数据集 Pandas库是Python常用的数据处理库,可以很方便地读写各种格式的数据集,包括CSV、Excel、SQL数据库等。 读取CSV文件: ```python import pandas as pd data = pd.read_csv('data.csv') ``` 读取Excel文件: ```python import pandas as pd data = pd.read_excel('data.xlsx') ``` 写入CSV文件: ```python import pandas as pd data = pd.DataFrame({'col1': [1, 2, 3], 'col2': ['a', 'b', 'c']}) data.to_csv('data.csv', index=False) ``` 写入Excel文件: ```python import pandas as pd data = pd.DataFrame({'col1': [1, 2, 3], 'col2': ['a', 'b', 'c']}) data.to_excel('data.xlsx', index=False) ``` 2.使用Numpy库读写数据集 Numpy库是Python常用的科学计算库,也可以用来读写数据集。 读取CSV文件: ```python import numpy as np data = np.loadtxt('data.csv', delimiter=',') ``` 写入CSV文件: ```python import numpy as np data = np.array([[1, 2, 3], [4, 5, 6]]) np.savetxt('data.csv', data, delimiter=',') ``` 3.使用Python内置的csv模块读写CSV文件 Python内置的csv模块也可以用来读写CSV文件。 读取CSV文件: ```python import csv with open('data.csv', 'r') as f: reader = csv.reader(f) data = list(reader) ``` 写入CSV文件: ```python import csv data = [[1, 2, 3], ['a', 'b', 'c']] with open('data.csv', 'w', newline='') as f: writer = csv.writer(f) writer.writerows(data) ``` 以上是Python读写数据集的一些常用方式,可以根据具体情况选择适合自己的方式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值