在数据分析领域,Pandas 可谓是一个老牌神器,而 MySQL 数据库也是非常流行的数据库之一。那么该如何把 Pandas 数据存到 MySQL 中呢?下面我们就来看一下具体的实现方法。
# 导入 pandas 和 pymysql 包
import pandas as pd
import pymysql
# 连接 MySQL 数据库
conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='root',
db='test_db'
)
# 创建数据表
cursor = conn.cursor()
sql = """
CREATE TABLE IF NOT EXISTS test_table (
id INT(5) NOT NULL AUTO_INCREMENT,
name VARCHAR(20),
age INT(3),
PRIMARY KEY (id)
)
"""
cursor.execute(sql)
# 读取数据并写入 MySQL 数据库
df = pd.read_csv('test.csv')
df.to_sql('test_table', conn, if_exists='replace', index=False)
# 关闭数据库连接
cursor.close()
conn.close()
代码解释:
- 首先要导入 Pandas 和 pymysql 包。
- 然后使用 pymysql 来连接 MySQL 数据库。
- 创建数据表,使用 cursor() 方法实例化 MySQL 光标,然后使用 execute() 方法执行创建表的 SQL 语句。
- 使用 Pandas 的 read_csv() 函数来读取 CSV 文件中的数据。
- 使用 DataFrame.to_sql() 函数,把 DataFrame 中的数据写入 MySQL 数据库中。
- 最后要关闭光标和数据库连接。
通过以上步骤,就可以将 Pandas 数据存储到 MySQL 数据库中啦,方便地保存和查询数据了。