本资源提供了一个详细的教程和示例代码,演示如何使用Python脚本将Excel表格中的数据高效地读取并导入至MySQL数据库中。适合需要进行数据迁移工作的开发者参考学习。
在Python编程中将Excel数据导入MySQL数据库是一项常见的任务,在数据分析、报表生成或Web应用程序后端处理中有广泛应用。本实例展示如何利用pandas库及mysql-connector-python模块来实现这一过程。
首先,需要安装必要的Python库:`pip install pandas mysql-connector-python`
一旦完成安装,可以开始编写代码:
1. 读取Excel文件:
```python
import pandas as pd
# 假设你的Excel文件名为your_file.xlsx
df = pd.read_excel(your_file.xlsx)
```
此时,DataFrame对象包含了从Excel中加载的数据。可以通过`print(df.head())`查看数据的前几行。
2. 连接MySQL数据库:
```python
import mysql.connector
# 创建配置参数字典
config = {
user: your_username,
password: your_password,
host: localhost, # 或者你的服务器地址
database: your_database_name}
cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()
```
确保成功连接MySQL数据库。
3. 创建表以存储数据:
```python
create_table_query = CREATE TABLE IF NOT EXISTS your_table_name (
column1 VARCHAR(255),
column2 INT,
column3 DATE);
cursor.execute(create_table_query)
```
4. 将DataFrame中的数据写入MySQL:
将DataFrame转换为SQL语句并执行批量插入操作,以防止内存溢出:
```python
insert_query = INSERT INTO your_table_name (column1, column2, column3) VALUES (%s, %s, %s);
batch_size = 1000 # 每批处理的数据量
for i in range(0, len(df), batch_size):
data = df.iloc[i:i+batch_size].values.tolist()
cursor.executemany(insert_query, data)
# 提交事务
cnx.commit()
```
5. 关闭数据库连接:
```python
cursor.close()
cnx.close()
```
通过Python和相关库,可以轻松实现将Excel数据导入MySQL的任务。请记得替换上述代码中的占位符为实际值:`your_file.xlsx`, `your_username`, `your_password`, `localhost`(或服务器地址), `your_database_name`以及表名等信息。