如何使用Python将CSV文件导入到MySQL数据库中?

yizhihongxing

如何使用Python将CSV文件导入到MySQL数据库中?

将CSV文件导入到MySQL数据库中是一个常见的任务,Python提供了许多库来完成这个任务。在本攻略中,我们将pandasmysql-connector-python来完成这个任务。以下是使用Python将CSV文件导入到MySQL数据库中的完整攻略。

步骤1:安装必要的库

在使用Python将CSV文件导入到MySQL数据库之前,需要安装pandasmysql-connector-python库。可以使用以下命令在命令行中安装这些库:

pip install pandas mysql-connector-python

步骤2:连接到MySQL数据库

在Python中,可以使用mysql-connector-python库连接到MySQL数据库。以下是连接到MySQL数据库的基本语法:

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

在上面的语法中,localhost是MySQL服务器的主机名,yourusername是数据库的用户名,yourpassword是连接数据库的密码,mydatabase是要连接的数据库名称。

步骤3:读取CSV文件

在Python中,可以使用pandas库读取CSV文件。以下是读取CSV文件的基本语法:

import pandas as pd

df = pd.read_csv('filename.csv')

在上面的语法中,filename.csv是要读取的CSV文件的文件名。

步骤4:将数据插入到MySQL数据库中

在Python中,可以使用pandas和mysql-connector-python`库将数据插入到MySQL数据库中。以下是将数据插入到MySQL数据库中的基本语法:

import pandas as pd
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

df = pd.read_csv('filename.csv')

mycursor = mydb.cursor()

for index, row in df.iterrows():
    sql = "INSERT INTO table_name (column1, column2, column3) VALUES (%s, %s, %s)"
    val = (row['column1'], row['column2'], row['column3'])
    mycursor.execute(sql, val)

mydb.commit()

在上面的语法中,table_name是要插入数据的表名,column1column2column3是表的列名。df.iterrows()方法用于遍历CSV文件中的每一行,mycursor.execute()方法用于执行SQL语句,mydb.commit()方法用于提交更改。

示例1

在这个示例中,我们将使用Python将一个名为data.csv的CSV文件导到MySQL数据库中。CSV文件包含三列数据:nameagecity。我们将创建一个名为people的表,并将CSV文件中的数据插入到该表中。

以下是Python代码:

import pandas as pd
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

df = pd.read_csv('data.csv')

mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE people (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), age INT, city VARCHAR(255))")

for index, row in df.iterrows():
    sql = "INSERT INTO people (name, age, city) VALUES (%s, %s, %s)"
    val = (row['name'], row['age'], row['city'])
    mycursor.execute, val)

mydb.commit()

在上面的代码中,我们使用pandas库读取名为data.csv的CSV文件。然后,我们使用mysql-connector-python库连接到MySQL数据库。接下来,我们使用mycursor.execute()方法创建一个名为people的表。最后,我们使用`循环遍历CSV文件中的每一行,并使用mycursor.execute()方法将数据插入到people`表中。

示例2

在这个示例中,我们将使用Python将一个名为sales.csv的CSV文件导入到MySQL数据库中。包含四列数据:dateproductpricequantity。我们将创建一个名为sales的表,并将CSV文件中的数据插入到该表中。

以下是Python代码:

import pandas as pd
import mysql.connector

mydb = mysql.connector.connect(
  host="",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

df = pd.read_csv('sales.csv')

mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE sales (id INT AUTO_INCREMENT PRIMARY KEY, date DATE, product VARCHAR(255), price FLOAT, quantity INT)")

for index, row in df.iterrows():
    sql = "INSERT INTO sales (date, product, price, quantity) VALUES (%s, %s, %s, %s)"
    val = (row['date'], row['product'], row['price'], row['quantity'])
    mycursor.execute(sql, val)

mydb.commit()

在上面的代码中,我们使用pandas库读取名为sales.csv的CSV文件。然后,我们使用mysql-connector-python库连接到MySQL数据库。接下来,我们使用mycursor.execute()方法创建一个名为sales的表。最后,我们使用for循环遍历CSV文件中的每一行,并使用mycursor.execute()方法将数据插入到sales表中。

以上是使用将CSV文件导入到MySQL数据库中的完整攻略,包括连接到MySQL数据库、读取CSV文件、将数据插入到MySQL数据库中等步骤。同时,我们提供了两个示例,以便更好地解如何使用Python将CSV文件导入到MySQL数据库中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何使用Python将CSV文件导入到MySQL数据库中? - Python技术站

(0)
上一篇 2023年5月12日
下一篇 2023年5月12日

相关文章

  • 10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)

    下面是对题目“10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)”的详细讲解,包含代码教程和示例: 1. 简介 本文介绍如何使用 Python 代码实现自动发送短信的功能,以及为什么这个功能特别适用于不想回复工作邮件的场景。本文的代码只需要 10 行 Python 代码,非常的简洁和实用。 2. 实现步骤 本文使用了中国移动的短信接口来实现…

    python 2023年5月19日
    00
  • 如何使用Python在MySQL中使用表级锁?

    在MySQL中,表级锁是一种用于控制并发访问的机制,它可以确保多个用户同时访问同一表时不会发生冲突。在Python中,可以使用MySQL连接来执行表级锁查询以下是Python使用表级的完整攻略,包括表级锁的基本语法、使用表级锁的例以及如何在Python中使用表级锁。 表锁的基本语法 在MySQL中,可以使用LOCK TABLES语句来获取表级锁。以下是表级锁…

    python 2023年5月12日
    00
  • Linux oracle 9i图文安装教程六 完结篇

    Linux Oracle 9i图文安装教程六 完结篇 本篇为Linux Oracle 9i图文安装教程系列的最后一篇,主要讲解安装完成后的一些后续操作。 数据库服务启动 使用以下命令启动Oracle 9i数据库服务: # su oracle $ sqlplus /nolog SQL> connect / as sysdba SQL> startu…

    database 2023年5月22日
    00
  • SQL 删除重复项

    当我们在SQL表中有重复记录时,我们可能需要删除这些重复项。以下是一些实用的SQL删除重复项的方法: 方法1:使用DISTINCT 使用SELECT DISTINCT语句选择所有非重复记录,并将它们插入到新表中,然后将旧表重命名并将新表重命名为旧表名称。如下所示: — 将DISTINCT查询结果插入到新表中 SELECT DISTINCT * INTO n…

    database 2023年3月27日
    00
  • python list的index()和find()的实现

    在Python编程中,list是一种常用的数据类型,用于表示一个有序的、可变的序列。list中包含了很多常用的方法,其中包括index()和find()。这两个方法都可以用来查找列表中某个元素的位置,但是它们之间有很多不同之处。下面将细讲解list的index()和find()的实现。 index()方法 index()方法是list中的一个方法,用于查找列…

    python 2023年5月13日
    00
  • python json.loads兼容单引号数据的方法

    下面是完整的攻略: 问题描述 JSON(JavaScript Object Notation)是一种常用的数据格式,常用来在前后端之间传递数据,对于Python来说,json.loads可以把JSON格式的字符串转化为Python对象。但是,JSON格式字符串要求使用双引号,如果JSON格式字符串中使用了单引号,则json.loads会抛出异常。那么,如何在…

    python 2023年6月3日
    00
  • Python构建自动在线刷视频的实现

    下面是Python构建自动在线刷视频的完整攻略,主要分为两个部分:自动化操作和视频播放。 自动化操作 使用Python自动化打开网页、模拟用户登录,进入播放页,全屏播放,实现视频自动播放。这个过程需要用到Selenium和WebDriver。 步骤1:安装Selenium 在终端中输入以下命令: pip install selenium 步骤2:安装WebD…

    python 2023年5月19日
    00
  • 学会python操作excel永不加班系列

    非常感谢你对“学会python操作excel永不加班系列”的关注。下面是对该攻略的详细讲解。 简介 本攻略旨在帮助大家讲解如何使用Python操作Excel,通过这一技能的掌握,你将彻底告别因为Excel操作而加班的烦恼,事半功倍。 准备 在正式开始学习操作Excel之前,我们首先需要准备一些必要的软件环境。 安装Python:推荐安装Python 3.x …

    python 2023年6月5日
    00
合作推广
合作推广
分享本页
返回顶部