引言
CSV(逗号分隔值)文件是一种常用的数据交换格式,而MySQL是一种流行的关系型数据库管理系统。在数据迁移过程中,将CSV文件中的数据导入到MySQL数据库中是一个常见的需求。本文将介绍如何通过编写一个简单的一键脚本,实现CSV到MySQL的数据迁移,确保数据转换的快速和准确。
准备工作
在开始之前,请确保以下准备工作已完成:
- 已安装MySQL数据库。
- 已创建目标MySQL数据库和相应的数据表。
- 已安装Python环境,并具备基本的Python编程知识。
脚本编写
以下是一个简单的Python脚本,用于将CSV文件中的数据导入到MySQL数据库中。
import csv
import mysql.connector
# MySQL数据库连接配置
config = {
'user': 'your_username',
'password': 'your_password',
'host': 'localhost',
'database': 'your_database',
'raise_on_warnings': True
}
# CSV文件路径
csv_file_path = 'your_csv_file.csv'
# 连接MySQL数据库
db_connection = mysql.connector.connect(**config)
cursor = db_connection.cursor()
# 读取CSV文件
with open(csv_file_path, mode='r', encoding='utf-8') as csv_file:
csv_reader = csv.DictReader(csv_file)
for row in csv_reader:
# 构建SQL插入语句
columns = ', '.join(row.keys())
placeholders = ', '.join(['%s'] * len(row))
insert_query = f"INSERT INTO your_table_name ({columns}) VALUES ({placeholders})"
# 执行SQL插入语句
cursor.execute(insert_query, list(row.values()))
# 提交事务
db_connection.commit()
# 关闭数据库连接
cursor.close()
db_connection.close()
print("CSV数据已成功导入到MySQL数据库!")
脚本说明
- 首先,导入
csv和mysql.connector模块。 - 定义MySQL数据库连接配置,包括用户名、密码、主机、数据库名等。
- 设置CSV文件路径。
- 连接MySQL数据库,并创建游标对象。
- 打开CSV文件,并使用
csv.DictReader读取数据。 - 遍历CSV文件中的每一行数据,构建SQL插入语句。
- 执行SQL插入语句,将数据导入MySQL数据库。
- 提交事务,并关闭数据库连接。
- 输出成功信息。
注意事项
- 请确保CSV文件中的数据格式与MySQL数据表中的字段类型一致。
- 在执行脚本之前,请修改脚本中的数据库连接配置、CSV文件路径和目标数据表名称。
- 如果需要批量导入数据,可以将脚本中的循环改为遍历CSV文件中的所有行。
通过以上步骤,您可以使用这个简单的一键脚本轻松实现CSV到MySQL的数据迁移。祝您数据迁移无忧!