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爬虫多次请求超时的几种重试方法(6种)

    针对“python爬虫多次请求超时的几种重试方法(6种)”这个话题,我将给出完整攻略。 标题 Python爬虫多次请求超时的几种重试方法 正文 对于一个爬虫程序而言,请求超时是一种经常遇到的异常情况。随着爬虫程序的运行时间越来越长,请求超时的情况也会越来越频繁,如果不能处理好这些请求超时的情况,就会影响到爬虫程序的效率和稳定性。本文将介绍6种Python爬虫…

    python 2023年5月13日
    00
  • Python基础常用内建函数图文示例解析

    Python基础常用内建函数图文示例解析 Python基础常用内建函数是进行Python编程的重要工具,有助于程序员高效地编写Python代码。本篇文章将为大家详细讲解Python常用内建函数,并提供多个实例进行演示。 1. print()函数 print()是Python内建函数中最常用的之一,它用于输出信息到控制台或者输出文件中。print()函数支持多…

    python 2023年6月5日
    00
  • Python数据可视化之matplotlib.pyplot绘图的基本参数详解

    “Python数据可视化之matplotlib.pyplot绘图的基本参数详解”是一篇关于使用matplotlib.pyplot绘图的文章。本文将对matplotlib.pyplot库中的一些基本参数进行解释,并提供一些基本绘图的示例。 简介 matplotlib是一个功能强大,灵活的绘图库,支持2D和3D绘图,可生成高质量的文本、图像和图形动画。matpl…

    python 2023年5月19日
    00
  • python 多线程共享全局变量的优劣

    Python多线程共享全局变量是一个比较常见的需求,但是需要考虑到线程安全性和性能问题。 多线程共享全局变量的优点 方便数据共享: 变量能够被不同线程访问,数据共享变得容易。 丰富了编程模型: 通过多线程的方式,我们可以使用类似异步编程的代码结构,让程序变得更加高效。 多线程共享全局变量的劣点 竞争关系: 当多个线程同时访问同一个全局变量时,可能会导致数据竞…

    python 2023年5月19日
    00
  • Python PyMySQL操作MySQL数据库的方法详解

    让我来讲解一下“Python PyMySQL操作MySQL数据库的方法详解”的完整攻略。 1. 安装 PyMySQL 在使用 PyMySQL 之前,需要先将其安装到本地的 Python 环境中。 可以通过以下命令使用 pip 安装 PyMySQL: pip install pymysql 2. 连接 MySQL 数据库 连接 MySQL 数据库需要指定以下几…

    python 2023年6月5日
    00
  • python 自定义异常和主动抛出异常(raise)的操作

    Python 自定义异常 Python默认提供了很多异常类型,但在实际开发中,你需要根据具体的业务需要自定义异常类型。自定义异常的方法非常简单,只需从内置的Exception类派生一个新类即可。 class MyException(Exception): pass raise MyException("我的异常") 以上代码中,我们创建了…

    python 2023年5月13日
    00
  • Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签

    Python3.7基于pycryptodome的AES加密解密 安装pycryptodome模块 pip install pycryptodome AES加密实现 from Crypto.Cipher import AES from Crypto.Util.Padding import pad from Crypto.Random import get_ra…

    python 2023年6月3日
    00
  • 详解Python文件修改的两种方式

    下面是详解Python文件修改的两种方式的完整攻略。 方式一:使用Python内置的文件操作函数 Python 提供了内置函数 open() 和 close() 用于打开和关闭文件,以及提供了一些文件操作的方法。通过这些函数,我们可以直接打开一个文件,读取或修改其中的内容,最后保存并关闭文件。 打开文件 使用内置函数 open() 可以打开一个文件,函数语法…

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