CSV文件导入MySQL数据库实现数据自动同步(csv文件入mysql)
CSV文件导入MySQL数据库实现数据自动同步
在实际应用中,我们往往需要将一些用Excel等表格软件编辑好的数据导入到数据库中。这时候我们可以将数据先保存为CSV格式,然后运用Python等编程语言把CSV文件导入到MySQL数据库中,实现数据的自动同步。以下是具体实现过程:
1. 创建MySQL表格
首先在MySQL数据库中创建一个表格,表格中的字段要和CSV文件中的列名一一对应,例如CSV文件中有三个列name、gender、age,则我们应该在MySQL数据库中创建一个名为students的表格,字段分别为name、gender、age。
示例代码:
“`mysql
CREATE TABLE students (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
gender VARCHAR(10),
age INT
);
2. 读取CSV文件
在Python中,我们可以用csv库来读取CSV文件。首先打开CSV文件,然后调用csv.reader方法创建一个reader对象,接着遍历读取每一行数据,将其转化成一个元组tuple并保存下来。
示例代码:
```pythonimport csv
with open('students.csv') as f: reader = csv.reader(f)
data = [tuple(row) for row in reader]
3. 连接MySQL数据库
使用Python操作MySQL数据库需要安装mysql-connector-python库。首先需要导入该库,然后调用该库中提供的connect方法连接到数据库,最后获取到数据库游标用于执行SQL语句。
示例代码:
“`python
import mysql.connector
# 连接MySQL数据库
cnx = mysql.connector.connect(user=’root’, password=’123456′, host=’127.0.0.1′, database=’test’)
cursor = cnx.cursor()
4. 插入数据到MySQL数据库
在Python中,我们可以通过遍历步骤2中保存下来的数据,然后使用cursor.execute方法执行INSERT INTO语句将数据插入到MySQL数据库中。
示例代码:
```python# 插入数据到MySQL数据库
for row in data: query = 'INSERT INTO students (name, gender, age) VALUES (%s, %s, %s)'
cursor.execute(query, row)cnx.commit()
5. 完整代码实现
“`python
import mysql.connector
import csv
with open(‘students.csv’) as f:
reader = csv.reader(f)
data = [tuple(row) for row in reader]
# 连接MySQL数据库
cnx = mysql.connector.connect(user=’root’, password=’123456′, host=’127.0.0.1′, database=’test’)
cursor = cnx.cursor()
# 插入数据到MySQL数据库
for row in data:
query = ‘INSERT INTO students (name, gender, age) VALUES (%s, %s, %s)’
cursor.execute(query, row)
cnx.commit()
# 关闭游标和数据库连接
cursor.close()
cnx.close()
通过以上步骤,我们就成功地将CSV文件中的数据导入到MySQL数据库中并实现了数据的自动同步。这种方法不仅方便且高效,对于经常需要使用表格软件进行数据编辑和管理的用户来说,是一种非常实用的数据同步方法。