CVS文件快速导入MySQL数据库
在日常工作和生活中,我们时常需要把数据从CSV文件中导入到MySQL数据库中。这个过程有时候比较繁琐,但是在使用正确的工具和方法的情况下,也可以非常快捷地完成。本文将介绍如何使用Python和MySQLdb模块快速把CSV文件导入MySQL数据库中。
1.准备工作
在开始本项目前,我们需要确保电脑上已经安装了Python和MySQLdb模块。如果还没有安装的话,可以在终端窗口中输入以下命令进行安装:
pip install mysqlclient
2.创建MySQL数据库
首先需要创建一个MySQL数据库,并在其中创建一个数据表。在这个例子中,我们创建一个名为“employees”的表,表中包含id、name、age和salary这四个字段。
CREATE DATABASE test;
use test;
CREATE TABLE employees (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50),
age INT,
salary DOUBLE,
PRIMARY KEY (id)
);
3.准备数据
为了演示如何将CSV文件中的数据导入到MySQL中,我们需要准备一个CSV文件,并将其保存在本地计算机中。这里我们创建一个名为“employees.csv”的文件,并把它存储在本地计算机的“C:\projects”文件夹下。
4.创建Python脚本
现在我们需要编写Python脚本来导入CSV文件。下面的代码将完成这个任务。代码中,我们使用Python的pandas库来读取CSV文件。使用连接MySQL的MySQLdb库,打开数据库并将CSV文件中的数据插入MySQL中的表中。
“`python
import pandas as pd
import MySQLdb
# Open database connection
db = MySQLdb.connect(“localhost”,”root”,”password”,”test” )
# prepare a cursor object using cursor() method
cursor = db.cursor()
# Read CSV
df = pd.read_csv(‘C:\projects\employees.csv’)
# Insert DataFrame to Table
for row in df.iterrows():
sql = “””INSERT INTO employees(name,
age, salary)
VALUES (‘%s’, ‘%s’, ‘%s’)””” % \
(row[1][‘name’], row[1][‘age’], row[1][‘salary’])
try:
# Execute the SQL command
cursor.execute(sql)
# Commit your changes in the database
db.commit()
except:
# Rollback in case there is any error
db.rollback()
# disconnect from server
db.close()
5.执行脚本并验证结果
当脚本完成后,我们可以通过查询MySQL数据库中的employees表来验证数据是否已经成功地导入其中。
SELECT * FROM employees;
这样,CSV文件就已经被成功导入了MySQL数据库中。
结论
如上所述,在数据导入方面,Python的pandas库和MySQLdb模块是非常强大和灵活的。使用这些工具,我们可以快速、简便地把CSV文件导入到MySQL数据库中,为日常的数据处理工作提供了有效的解决方案。