欢迎访问宙启技术站
智能推送

Python函数:读取CSV文件并将数据存储到MySQL数据库中

发布时间:2023-06-15 08:51:36

Python是一种流行的编程语言,可以用于处理各种数据。在数据科学中,利用Python可以轻松地读取和处理CSV文件,然后将数据存储到MySQL数据库中,以便长期保存和分析。

读取CSV文件

Python的csv模块提供各种方法来读取和写入CSV文件。要使用csv模块,首先需要导入它。下面是一个读取CSV文件并打印每一行数据的示例代码:

import csv

with open('data.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

这个代码块打开名为data.csv的CSV文件,并创建一个csv.reader对象来读取文件中的数据。然后,使用for循环逐行读取CSV文件,并将每一行数据打印出来。

将数据存储到MySQL数据库中

将数据存储到MySQL数据库中需要使用Python的MySQLdb模块。首先,需要安装MySQLdb模块。可以使用pip命令来安装它:

pip install mysqlclient

接下来,需要导入MySQLdb模块,以及建立MySQL数据库连接的相关信息,如下所示:

import MySQLdb

db = MySQLdb.connect(host="localhost",    # your host, usually localhost
                     user="username",         # your username
                     passwd="password",        # your password
                     db="database_name")        # name of the data base

在连接到MySQL数据库之后,可以使用curse()方法创建一个游标对象,该对象将用于执行SQL查询,如下所示:

cur = db.cursor()

现在,可以使用MySQLdb模块中的方法在MySQL数据库中创建表并将数据存储到表中。下面是一个将数据存储到表中的示例代码:

cur.execute('CREATE TABLE IF NOT EXISTS my_table (id INT PRIMARY KEY, name VARCHAR(50), age INT)')
with open('data.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        cur.execute('INSERT INTO my_table (id, name, age) VALUES (%s, %s, %s)', row)
db.commit()

首先,利用execute()方法创建了一个名为my_table的表,该表包含id,name和age列。接下来,使用csv模块读取文件data.csv中的每一行数据,并使用execute()方法将值插入my_table表中。最后,使用commit()方法提交所有插入并保存更改。

总结

在Python中读取和处理CSV文件非常简单。通过csv模块,可以使用循环逐行读取CSV文件的每一行数据。然后,使用MySQLdb模块,可以将数据存储到MySQL数据库中。这使得Python成为一种非常有用的数据处理工具,特别是当需要从多个数据源中读取数据并将其保存到数据库中进行分析时。