CSV文件快速倒入MySQL数据库的方法(csv倒入mysql)

CSV文件快速倒入MySQL数据库的方法

CSV(Comma-Separated Values)是一种常用的文本文件格式,用来存储表格数据。而MySQL是目前最流行的关系型数据库之一,因此将CSV文件快速倒入MySQL数据库对于数据分析和数据处理来说非常重要。在本文中,我们将介绍如何使用Python和MySQL,以及适用于大型数据集的高效技巧,将CSV文件快速导入MySQL数据库。

第一步:创建MySQL数据库和数据表

我们需要在MySQL数据库中创建一个新的数据库和一张数据表来存储CSV文件的数据。以下为在MySQL中创建一个名为MyDatabase的数据库和一个包含两个字段(id和name)的数据表:

“`mysql

CREATE DATABASE MyDatabase;

USE MyDatabase;

CREATE TABLE myTable (

id INT PRIMARY KEY,

name VARCHAR(255)

);


第二步:使用Python将CSV文件导入MySQL数据库

接下来,我们需要使用Python编写代码来从CSV文件中读取数据并将其导入MySQL数据库中。以下是一个示例代码:

```python
import csv
import pymysql

# 打开CSV文件
with open('myData.csv') as csvfile:
reader = csv.DictReader(csvfile)
# 连接到MySQL数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', password='password', db='MyDatabase')
cursor = conn.cursor()
# 遍历CSV文件中的每一行数据,将其插入MySQL数据库中
for row in reader:
id = int(row['id'])
name = row['name']
sql = "INSERT INTO myTable (id, name) VALUES (%s, %s)"
cursor.execute(sql, (id, name))
# 提交更改并关闭连接
conn.commit()
cursor.close()
conn.close()

在代码中,我们使用了Python内置的csv模块来读取CSV文件的内容,并使用pymysql模块连接到MySQL数据库。然后,我们遍历CSV文件中的每一行数据,将其插入到MySQL数据表中。我们提交更改并关闭数据库连接。

第三步:使用LOAD DATA INFILE导入大型CSV文件

如果CSV文件十分大,那么使用Python逐行遍历和插入数据将变得相当缓慢。在这种情况下,我们可以使用MySQL提供的LOAD DATA INFILE语句来导入CSV文件。以下是一个示例代码:

“`mysql

LOAD DATA INFILE ‘/path/to/myData.csv’ INTO TABLE myTable

FIELDS TERMINATED BY ‘,’ ENCLOSED BY ‘”‘

LINES TERMINATED BY ‘\r\n’

IGNORE 1 ROWS;


在代码中,我们使用LOAD DATA INFILE语句将CSV文件导入到MySQL数据表中。在语句中,我们指定了CSV文件的路径以及CSV文件的格式。FIELDS TERMINATED BY指定了CSV文件中字段的分隔符,ENCLOSED BY指定了字段的包装符号,LINES TERMINATED BY指定了行的结束符。IGNORE 1 ROWS指定了忽略CSV文件的第一行数据,因为它通常是标题行。

总结

本文介绍了如何使用Python和MySQL将CSV文件快速导入MySQL数据库。对于小型数据集,我们可以使用Python逐行遍历和插入数据。对于大型数据集,我们可以使用MySQL的LOAD DATA INFILE语句将CSV文件直接导入到MySQL数据表中。遵循以上步骤,我们可以快速地将CSV文件导入MySQL数据库,并进行数据分析和处理。

数据运维技术 » CSV文件快速倒入MySQL数据库的方法(csv倒入mysql)