如何将csv数据导入mysql数据库(csv 到 mysql)

如何将csv数据导入mysql数据库

在数据处理和分析的工作中,数据的导入和处理是不可避免的。如何将csv数据导入mysql数据库是一个非常常见的需求。在这篇文章中,我们将介绍如何使用Python和MySQL官方模块来实现将csv数据导入mysql数据库。同时,我们将展示一个具体的实例,帮助大家更好地理解如何将csv数据导入mysql数据库。

步骤1:准备工作

在开始编写Python代码之前,我们需要进行一些准备工作。我们需要安装MySQL官方模块,可以在终端中使用以下命令来安装:

pip install mysql-connector-python

然后,我们需要创建一个MySQL数据库和一个数据表来存储我们的数据。可以在MySQL命令行中使用以下命令进行创建(需要提前安装MySQL):

CREATE DATABASE 数据库名称;
USE 数据库名称;

CREATE TABLE 数据表名称 (
列1 varchar(255),
列2 varchar(255),
列3 int,
列4 float
);

这里我们创建了一个名称为”数据库名称”的数据库,以及一个名称为”数据表名称”的数据表。数据表包含了4列,分别为列1、列2、列3和列4,类型分别为varchar(255)、varchar(255)、int和float。

步骤2:读取CSV文件

在Python中,我们可以使用csv模块来读取csv文件。csv模块提供了一个reader对象,使用该对象可以读取csv文件中的每一行记录。在以下代码中,我们使用了csv.reader()方法来读取了一个名为”data.csv”的csv文件:

import csv
with open('data.csv', newline='') as csvfile:
data = csv.reader(csvfile, delimiter=',', quotechar='"')
for row in data:
print(row)

步骤3:将数据导入MySQL数据库

将csv数据导入MySQL数据库,我们需要使用MySQL官方模块。我们可以使用MySQL连接器来连接到MySQL数据库,然后使用游标对象来执行INSERT语句将数据导入数据库。 在以下代码中,我们定义了一个名为“insert_data”函数,该函数将取csv文件,并将其插入已定义的数据表中:

import mysql.connector
import csv

def insert_data():
# connect to database
conn = mysql.connector.connect(
user='your_username',
password='your_password',
host='your_host',
database='your_database_name'
)
# open csv file
with open('data.csv', newline='') as csvfile:
data = csv.reader(csvfile, delimiter=',', quotechar='"')

# create a cursor object
cursor = conn.cursor()
# skip header row
next(data)
# iterate over each row and insert into database
for row in data:
cursor.execute(
'INSERT INTO 数据表名称(列1, 列2, 列3, 列4) VALUES (%s, %s, %s, %s)',
(row[0], row[1], row[2], row[3])
)
conn.commit()
cursor.close()
conn.close()

if __name__ == '__mn__':
insert_data()

在以上代码中,我们首先使用connect()方法来连接到MySQL数据库,并使用cursor()方法创建了一个游标对象。然后,我们使用csv.reader()方法读取csv文件,跳过了第一行标题行。接着,我们循环迭代csv文件中的每一行数据,并使用游标对象来执行INSERT语句将数据插入到已定义的数据表中。

我们调用了commit()方法来提交我们的更改,然后使用close()方法关闭游标对象和数据库连接。

总结:

在这篇文章中,我们学习了如何使用Python和MySQL官方模块将csv数据导入mysql数据库。我们先进行了准备工作,创建了一个MySQL数据库和一个数据表,然后使用Python的csv模块将csv文件读入。 我们使用MySQL连接器来连接到MySQL数据库,并使用游标对象来执行INSERT语句将csv数据插入到数据表中。

Python代码如下:

import mysql.connector
import csv

def insert_data():
# connect to database
conn = mysql.connector.connect(
user='your_username',
password='your_password',
host='your_host',
database='your_database_name'
)
# open csv file
with open('data.csv', newline='') as csvfile:
data = csv.reader(csvfile, delimiter=',', quotechar='"')

# create a cursor object
cursor = conn.cursor()
# skip header row
next(data)
# iterate over each row and insert into database
for row in data:
cursor.execute(
'INSERT INTO 数据表名称(列1, 列2, 列3, 列4) VALUES (%s, %s, %s, %s)',
(row[0], row[1], row[2], row[3])
)
conn.commit()
cursor.close()
conn.close()

if __name__ == '__mn__':
insert_data()

数据运维技术 » 如何将csv数据导入mysql数据库(csv 到 mysql)