Python之csv文件从MySQL数据库导入导出的方法

下面详细讲解Python如何操作csv文件实现MySQL数据库的导入导出。

1. csv文件的导出(从MySQL数据库到csv文件)

步骤1:导出数据到csv文件

使用Python的标准库中的csvpymysql模块,可以快速地从MySQL数据库中导出数据到csv文件。下面是示例代码:

import csv
import pymysql

# 连接MySQL数据库
conn = pymysql.connect(
    host='localhost',
    user='root',
    password='password',
    db='db_name',
    charset='utf8'
)

# 获取游标
cursor = conn.cursor()

# 执行SQL语句
sql = 'SELECT * FROM table_name'
cursor.execute(sql)

# 获取查询结果
results = cursor.fetchall()

# 定义csv文件头
headers = ['column1', 'column2', 'column3']

# 写入csv文件
with open('output.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(headers)
    for row in results:
        writer.writerow(row)

# 关闭游标和数据库连接
cursor.close()
conn.close()

上述代码中,我们首先连接 MySQL 数据库,并获取到一个游标对象 cursor。然后我们可以使用 cursor 执行需要导出数据的 SQL 语句,并将查询结果获取到 results 中。接下来我们定义 csv 文件头 headers,再将数据逐行写入 output.csv 文件中,最后关闭游标和数据库连接。

步骤2:查看csv文件内容

使用Python的标准库中的csv模块,可以方便地查看csv文件中的内容。下面是示例代码:

import csv

# 打开csv文件
with open('output.csv', 'r', newline='') as csvfile:
    reader = csv.reader(csvfile)

    # 输出csv文件内容
    for row in reader:
        print(row)

上述代码中,我们首先打开 output.csv 文件,然后使用 csv.reader() 方法读取文件中的内容,并逐行输出。

2. csv文件的导入(从csv文件到MySQL数据库)

步骤1:读取csv文件内容

使用Python的标准库中的csv模块,可以快速地读取csv文件中的内容。下面是示例代码:

import csv

# 打开csv文件
with open('input.csv', 'r', newline='') as csvfile:
    reader = csv.reader(csvfile)

    # 获取csv文件内容
    rows = []
    for row in reader:
        rows.append(row)

# 去掉csv文件头
headers = rows.pop(0)

上述代码中,我们首先打开 input.csv 文件,然后使用 csv.reader() 方法读取文件中的内容,并将每一行数据存储到一个列表中。由于第一行是文件头,我们可以使用 pop() 方法将其从列表中去掉,并将其存储到 headers 变量中。

步骤2:将csv文件内容导入到MySQL数据库中

使用Python的标准库中的pymysql模块,可以方便地将数据插入到MySQL数据库中。下面是示例代码:

import pymysql

# 连接MySQL数据库
conn = pymysql.connect(
    host='localhost',
    user='root',
    password='password',
    db='db_name',
    charset='utf8'
)

# 获取游标
cursor = conn.cursor()

# 定义插入语句模板
sql = 'INSERT INTO table_name (column1, column2, column3) VALUES (%s, %s, %s)'

# 插入数据
for row in rows:
    cursor.execute(sql, (row[0], row[1], row[2]))

# 提交事务
conn.commit()

# 关闭游标和数据库连接
cursor.close()
conn.close()

上述代码中,我们首先连接 MySQL 数据库,并获取到一个游标对象 cursor。然后我们可以使用 for 循环将 rows 中的每一行数据逐条插入到 MySQL 数据库中。最后记得提交事务,并关闭游标和数据库连接。

结语

通过以上步骤,我们就可以轻松地从 MySQL 数据库中导出数据到 csv 文件,也可以将 csv 文件中的数据导入到 MySQL 数据库中。这种方式使得数据的导入导出变得方便、快捷。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python之csv文件从MySQL数据库导入导出的方法 - Python技术站

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

相关文章

  • Python TCP通信客户端服务端代码实例

    首先,我们需要了解什么是TCP通信。TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。它在互联网中被广泛使用,例如浏览网页、下载文件等。TCP通过三次握手建立连接,在数据传输过程中会保证数据的可靠传输,也能够保证数据的顺序正确。 在Python中,通过socket模块可以实现TCP通信。…

    python 2023年6月2日
    00
  • 基于Python实现层次性数据和闭包性质

    要实现层次性数据和闭包性质,可以采用Python的语言特性,包括嵌套函数、字典、列表等,可以通过以下步骤进行实现: 1. 创建嵌套函数 嵌套函数是函数内部定义函数,它可以访问外层函数的变量,所以可以实现闭包性质。例如下面的代码: def outer_function(): x = 1 def inner_function(): print(x) return…

    python 2023年5月14日
    00
  • Python编程无师自通:专业程序员的养成-术语表

    术语表 第一章 FizzBuzz 用来编程面试中筛选候选者的测试。 操作系统 扮演计算机物理组件与人之间的中间人的一个程序。 图形用户界面(GUI) 操作系统的一部分,用户在屏幕上看到的内容。 开源 软件不归某个公司或个人所有,而是由一群志愿者维护。 Windows 微软推出的操作系统。 UNIX 发明于20世纪70年代的一种操作系统,苹果的OS X是UNI…

    python 2023年5月4日
    00
  • Python入门之三角函数sin()函数实例详解

    以下是Python入门之三角函数sin()函数实例详解的完整攻略: sin()函数简介 在Python中,sin()函数是一个三角函数,用于计算给定角度的正弦值。sin()函数的参数是一个弧度值,可以使用math库中的radians()函数将角度转换为弧度。以下是一个示例代码: import math angle = 45 radians = math.ra…

    python 2023年5月14日
    00
  • 在Python中利用Into包整洁地进行数据迁移的教程

    当然,我很乐意为您提供“在Python中利用Intake包整洁地进行数据迁移的教程”的完整攻略。以下是详细步骤和示例。 Intake包的概述 Intake是一个Python包,用于管理和加载数据集。它提供了一个统一的接口,可以轻松地加载各种数据源,包括本地文件、远程文件、数据库和API。Intake还提供了一种简单的方法来定义数据集的元数据,包括数据集名称、…

    python 2023年5月13日
    00
  • Python 操作 MongoDB数据库的方法(非 ODM)

    Python 操作 MongoDB 数据库的方法(非 ODM) MongoDB 是一个基于分布式文件存储的 NoSQL 数据库,是当前非常流行的文档型数据库之一。Python 作为一门优秀的程序设计语言,拥有很好的语法和语言特性,广泛应用于各个领域,自然也可以用 Python 去操作 MongoDB 数据库。 安装 Python MongoDB 驱动 在使用…

    python 2023年5月14日
    00
  • Python SSL证书验证问题解决方案

    Python SSL证书验证问题解决方案 在使用Python发送网络请求时,SSL证书验证是一个非常重要的安全机制,它可以帮助我们确认服务器的身份,避免了中间人攻击等问题。但是SSL证书验证时也可能会遇到一些问题,如何解决这些问题呢?接下来我们将详细介绍Python SSL证书验证问题的常见解决方案。 Requests库默认SSL证书验证 Python的re…

    python 2023年6月3日
    00
  • 对python中的 os.mkdir和os.mkdirs详解

    当我们写 Python 程序时,可能会需要创建文件夹,Python 标准库中的 os 包提供了两种创建文件夹的函数:os.mkdir 和 os.mkdirs。 os.mkdir 和 os.mkdirs 的区别 os.mkdir(path):只能创建单级目录,如果要创建多级目录则会抛出 OSError 异常; os.mkdirs(path, mode=0o77…

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