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并保存下来。

示例代码:

```python
import 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数据库中并实现了数据的自动同步。这种方法不仅方便且高效,对于经常需要使用表格软件进行数据编辑和管理的用户来说,是一种非常实用的数据同步方法。

数据运维技术 » CSV文件导入MySQL数据库实现数据自动同步(csv文件入mysql)