本文将介绍Python中如何批量导入数据库。首先,对于数据分析和挖掘领域,数据库中批量导入数据是一个必不可少的过程。这种高效的导入方式可以极大地提高数据挖掘、机器学习等任务的效率。
一、建立数据库连接
在Python中,建立数据库连接是批量导入数据的第一步。要使用Python连接到数据库,需要先安装相应的数据库连接驱动程序。例如,对于MySQL数据库,可以使用PyMySQL模块来连接MySQL数据库。
安装PyMySQL模块:
!pip install pymysql
连接到MySQL数据库:
import pymysql
# 打开数据库连接
db = pymysql.connect("localhost", "root", "password", "test")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 执行SQL语句
cursor.execute("SELECT VERSION()")
# 获取一条数据
data = cursor.fetchone()
print("Database version : %s " % data)
# 关闭数据库连接
db.close()
二、批量导入数据
在建立好数据库连接之后,就可以使用Python批量导入数据了。下面,我们以CSV文件导入MySQL数据库为例进行介绍。
1.读取CSV文件
Python提供了csv模块来操作CSV文件。
import csv
filename = "data.csv"
# 打开CSV文件
with open(filename) as f:
# 创建CSV读取器
reader = csv.reader(f)
# 遍历文件中的每一行
for row in reader:
print(row)
2.创建数据表
在将数据导入MySQL数据库之前,必须在数据库中先创建相应的数据表。可以使用SQL语句创建数据表。
import pymysql
sql_create_table = """CREATE TABLE test_table (
id INT(10) NOT NULL AUTO_INCREMENT,
name CHAR(20) NOT NULL,
age INT(10),
PRIMARY KEY(id)
)"""
# 打开数据库连接
db = pymysql.connect("localhost", "root", "password", "test")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 执行SQL语句
cursor.execute(sql_create_table)
# 关闭数据库连接
db.close()
3.导入数据
在创建好数据表之后,可以使用SQL语句将CSV文件中的数据导入到MySQL数据库中。
import csv
import pymysql
filename = "data.csv"
# 打开CSV文件
with open(filename) as f:
# 创建CSV读取器
reader = csv.reader(f)
# 打开数据库连接
db = pymysql.connect("localhost", "root", "password", "test")
# 使用cursor()方法获取操作游标
cursor = db.cursor()
# 逐行导入数据
for row in reader:
name, age = row[0], row[1]
sql_insert = f"INSERT INTO test_table (name, age) VALUES ('{name}', {age})"
cursor.execute(sql_insert)
# 提交事务
db.commit()
# 关闭数据库连接
db.close()
三、总结
本文介绍了Python中如何批量导入数据到MySQL数据库中。首先,我们需要建立数据库连接,然后通过CSV文件导入数据。导入数据之前,必须在数据库中先创建相应的数据表。最后,通过SQL语句将数据导入到数据库中。
原创文章,作者:UQVSK,如若转载,请注明出处:https://www.506064.com/n/374173.html