本文將介紹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/zh-hk/n/374173.html