使用python读取csv文件快速插入数据库的实例

下面是使用Python读取CSV文件快速插入数据库的攻略,具体步骤如下:

步骤一:安装Python数据库驱动

使用Python进行数据库操作需要安装相应的数据库驱动。在本次攻略中,我们将使用MySQL数据库,因此需要安装MySQL数据库驱动。这里我们采用PyMySQL,执行以下命令进行安装:

pip install pymysql

步骤二:准备CSV数据

准备好要插入数据库的CSV文件,确保CSV文件数据与数据库表结构一致。这里我们以Suppliers表为例,创建Suppliers.csv文件并添加数据:

supplier_name,contact_name,email,country
Suppliers Inc.,John Doe,john@suppliers.com,USA
Globex Corporation,Nick Smith,nick@globex.com,UK

步骤三:编写Python代码

接下来,我们编写Python代码实现读取CSV文件并插入MySQL数据库。代码如下:

import csv
import pymysql

# 连接数据库
db = pymysql.connect(host='localhost', user='root', password='123456',
                     db='test', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)

try:
    # 通过cursor创建游标
    with db.cursor() as cursor:
        # 读取CSV文件
        with open('Suppliers.csv', newline='', encoding='utf-8') as csvfile:
            reader = csv.DictReader(csvfile)
            # 遍历CSV文件
            for row in reader:
                # 插入数据
                sql = "INSERT INTO Suppliers (supplier_name, contact_name, email, country) VALUES (%s,%s,%s,%s)"
                cursor.execute(sql, (row['supplier_name'], row['contact_name'], row['email'], row['country']))
    # 提交到数据库执行
    db.commit()
finally:
    # 关闭数据库连接
    db.close()

示例一:读取供应商列表并插入数据库

假设我们有一个供应商列表,名为Suppliers.csv,内容如步骤二所示。我们执行以下python代码读取该CSV文件并插入数据库:

import csv
import pymysql

# 连接数据库
db = pymysql.connect(host='localhost', user='root', password='123456',
                     db='test', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)

try:
    # 通过cursor创建游标
    with db.cursor() as cursor:
        # 读取CSV文件
        with open('Suppliers.csv', newline='', encoding='utf-8') as csvfile:
            reader = csv.DictReader(csvfile)
            # 遍历CSV文件
            for row in reader:
                # 插入数据
                sql = "INSERT INTO Suppliers (supplier_name, contact_name, email, country) VALUES (%s,%s,%s,%s)"
                cursor.execute(sql, (row['supplier_name'], row['contact_name'], row['email'], row['country']))
    # 提交到数据库执行
    db.commit()
finally:
    # 关闭数据库连接
    db.close()

示例二:读取订单列表并插入数据库

假设我们有一个订单列表,名为Orders.csv,内容如下:

order_number,product_id,quantity,price,customer_name,customer_email,country
1,1001,2,100.00,John Doe,john@test.com,USA
2,1002,3,200.00,Jim Smith,jim@test.com,Canada
3,1003,4,300.00,Jack Johnson,jack@test.com,UK

我们执行以下python代码读取该CSV文件并插入数据库:

import csv
import pymysql

# 连接数据库
db = pymysql.connect(host='localhost', user='root', password='123456',
                     db='test', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor)

try:
    # 通过cursor创建游标
    with db.cursor() as cursor:
        # 读取CSV文件
        with open('Orders.csv', newline='', encoding='utf-8') as csvfile:
            reader = csv.DictReader(csvfile)
            # 遍历CSV文件
            for row in reader:
                # 插入数据
                sql = "INSERT INTO Orders (order_number, product_id, quantity, price, customer_name, customer_email, country) VALUES (%s,%s,%s,%s,%s,%s,%s)"
                cursor.execute(sql, (row['order_number'], row['product_id'], row['quantity'], row['price'], row['customer_name'], row['customer_email'], row['country']))
    # 提交到数据库执行
    db.commit()
finally:
    # 关闭数据库连接
    db.close()

以上就是使用Python读取CSV文件快速插入数据库的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用python读取csv文件快速插入数据库的实例 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • Python定时发送消息的脚本:每天跟你女朋友说晚安

    下面为你详细讲解如何编写一个Python定时发送消息的脚本,这个脚本可以每天定时给你的女朋友发送晚安的消息。 步骤一:安装模块 Python定时任务需要使用到第三方模块来实现,因此我们需要先安装这些模块。常用的模块是schedule和requests,我们可以使用pip进行安装。 打开命令行,输入如下命令进行安装: pip install schedule …

    python 2023年5月18日
    00
  • Python如何import文件夹下的文件(实现方法)

    使用Python import文件夹下的文件可以帮助我们更好地组织代码,避免代码结构混乱,同时也可以方便地调用函数和变量。下面是实现此功能的攻略: 将要导入的文件放入一个同名文件夹中,例如我们创建了一个名为”utils”的文件夹,并将我们要导入的函数放置其中。 在主文件中使用 import 语句来导入所需的函数。我们可以使用以下两种导入方式: 方式一:导入整…

    python 2023年6月5日
    00
  • 使用Python多线程爬虫爬取电影天堂资源

    使用Python多线程爬虫可以提高爬取资源的速度,特别是在需要爬取大量数据的情况下。以下是使用Python多线程爬虫爬取电影天堂资源的完整攻略。 确认目标网站 首先,我们需要确认需要爬取的目标网站。针对本例中的电影天堂资源,我们需要先确定目标页面的URL。 电影天堂搜索页面的URL格式为:http://www.dytt8.net/html/gndy/dyzz…

    python 2023年5月14日
    00
  • python人工智能tensorflow函数tf.get_collection使用方法

    Python人工智能 TensorFlow函数tf.get_collection使用方法 在TensorFlow中,tf.get_collection()函数可以非常方便地获取指定名称的集合中的所有变量或张量。本文将详细介绍如何使用该函数。 1. 了解TensorFlow中的集合 在TensorFlow中,我们可以通过变量和张量将相关的参数存储在一起。为了方…

    python 2023年6月3日
    00
  • 是否有一种可移植的方式来获取 Python 中的当前用户名?

    【问题标题】:Is there a portable way to get the current username in Python?是否有一种可移植的方式来获取 Python 中的当前用户名? 【发布时间】:2023-04-01 23:03:01 【问题描述】: 是否有一种可移植的方式在 Python 中获取当前用户的用户名(即至少在 Linux 和 …

    Python开发 2023年4月8日
    00
  • Python OpenCV Hough直线检测算法的原理实现

    以下是关于“Python OpenCV Hough直线检测算法的原理实现”的完整攻略: 简介 Hough直线检测算法是一种常用的计算机视觉算法,用于检测图像中的直线。在本教程中,我们将介绍如何使用Python和OpenCV实现Hough直线检测算法,并提供两个示例。 原理 Hough直线检测算法的基本原理是将图像中的每个点转换为极坐标系下的一条直线,然后在极…

    python 2023年5月14日
    00
  • python二叉树常用算法总结

    下面是关于“Python二叉树常用算法总结”的完整攻略。 1. 二叉树简介 二叉树是一种树形结构,它的每个节点最多有两个子节点。二叉的节点包含一个值和两个指针分别指向左子树和右子树。二叉树的遍历方式包括前序遍历、中序遍历和后序遍历。 2. Python实现二叉树 在Python中,我们可以使用 Node 类来表示二叉树的节点,使用 BinaryTree 类来…

    python 2023年5月13日
    00
  • 详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别

    Python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别 在Python脚本中,我们可能会使用到一些退出程序相关的函数,比如 os._exit(), sys.exit(), exit(0) 和 exit(1)。虽然这些函数都有着类似的作用都是用于退出程序,但它们之间还有着一些区别。 os._exit() …

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