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

如何使用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日

相关文章

  • Mac 使用python3的matplot画图不显示的解决

    下面是详细讲解“Mac 使用python3的matplot画图不显示的解决”的完整攻略。 起因 在使用Python3的Matplotlib库来绘制图像时,有些 macOS 系统用户可能会遇到一个问题:无法在终端上显示 Matplotlib 绘制的图像。 解决方案 在 macOS 系统上解决该问题,需要通过修改 Matplotlib 的渲染引擎来实现。下面是具…

    python 2023年5月18日
    00
  • 公司内部网络监控、局域网上网行为监控软件、电脑网络控制软件白皮书

    “公司内部网络监控、局域网上网行为监控软件、电脑网络控制软件白皮书”是一份详细说明文档,旨在帮助用户了解并正确使用这类软件。 以下是完整攻略: 简介 在公司内部,为了确保员工的工作效率和网络安全性,通常需要对员工的网络行为进行监控和控制。其中,公司内部网络监控、局域网上网行为监控软件、电脑网络控制软件是其中的三种常用工具。本白皮书将详细介绍这三种工具的特点、…

    database 2023年5月21日
    00
  • Linux 管理员手册(3)

    Linux 管理员手册(3) 介绍 Linux管理员手册(3)是Linux操作系统中的一个手册页,包含了许多C库函数的细节信息,如在Linux中常用的system()、fork()、wait()等。在编写shell脚本或开发C/C++程序时,该手册可能会成为不可或缺的参考资料。 如何使用Linux管理员手册(3) 使用Linux管理员手册(3)非常简单,在终…

    database 2023年5月22日
    00
  • Python实现快速多线程ping的方法

    下面是关于 Python 实现快速多线程 Ping 的方法的完整攻略。 1. 确认需求 在开始一项技术实践之前,首先需要明确我们的需求和目的。本次攻略的目的是实现快速多线程的 Ping,以检测目标主机的可达性,并统计出在线主机的数量。因此,需要掌握的技术点包括: 进行 Ping 操作的 Python 库:Python 中常用的 Ping 库有 ping3、p…

    python 2023年5月18日
    00
  • 可视化工具PyVista多线程显示多窗口的实例代码

    下面我来讲解一下“可视化工具PyVista多线程显示多窗口的实例代码”的完整攻略。 简介 PyVista是一款基于VTK的Python可视化工具,可用于数据可视化、科学计算、数值模拟等领域。PyVista支持多线程和多窗口显示,这为用户提供了更加强大和高效的可视化能力。 多线程显示多窗口 在PyVista中,我们可以通过多线程和多窗口来实现同时显示多个vtk…

    python 2023年5月19日
    00
  • Python中的推导式使用详解

    下面是“Python中的推导式使用详解”的完整攻略。 一、什么是推导式(comprehension) 推导式是Python特有的一种语法形式,可以通过一种简洁的方式快速地在列表、字典、元组等数据类型中创建新的数据结构。通俗地说,推导式就是一种在一行代码中生成一个序列的方式。 Python中的推导式有以下几种: 列表推导式(List Comprehension…

    python 2023年5月14日
    00
  • matplotlib绘制符合论文要求的图片实例(必看篇)

    关于”matplotlib绘制符合论文要求的图片实例(必看篇)”,我详细讲解以下攻略: 1. 需求和重点 初学matplotlib绘图时,我们往往只是为了画出一些好看的图来看看,但是在学术论文中,绘图的需求高了许多。我们不仅需要图像精度高,更需要符合论文排版格式要求。 因此,本文着重点在于如何用matplotlib绘制符合论文要求的图片,例如设置图像大小、图…

    python 2023年5月19日
    00
  • 配置ogg异构oracle-mysql(3)目的端配置

    目的端配置大致分为如下三个步骤:配置mgr,配置checkpoint table,配置应用进程 在目的端先创建一张表,记得带主键: mysql> create database hr;Query OK, 1 row affected (0.00 sec) mysql> use hrDatabase changedmysql> create …

    MySQL 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部