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

yizhihongxing

下面详细讲解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 字符串使用多个分隔符分割成列表的2种方法

    使用多个分隔符将字符串分割成列表通常是在数据处理和解析文本时非常有用的一种技巧。Python 提供了多种方法实现该功能,本文将介绍两种常用的方法。 方法一:使用 re 模块 Python re 模块提供了丰富的正则表达式支持,可以用来处理字符串的复杂匹配和替换。使用 re.split() 方法可以方便地将字符串按照多个不同的分隔符分割成列表。 import …

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

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

    python 2023年5月13日
    00
  • Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例

    下面是详细讲解“Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例”的完整攻略,包括算法原理、Python实现和两个示例说明。 算法原理 Dijkstra算法是一种用于查找图中最短路径的算法。其主要思想是从起点开始,逐步扩展到其他节点,直到到达终点。在扩展的过程中,记录每个节点的最短路径和前驱节点,最终得到起点到终点的最短路径。Dijk…

    python 2023年5月14日
    00
  • Python详解argparse参数模块之命令行参数

    Python中,argparse是一个标准库,旨在帮助开发者编写易于使用和可自动化的命令行界面。在本文中,我们将深入介绍argparse参数模块之命令行参数的详细攻略。 argparse参数模块简介 argparse模块是Python程序设计的一个标准库。argparse模块用于解析命令行参数。argparse模块使得编写用户友好的命令行界面易如反掌。 ar…

    python 2023年6月3日
    00
  • Python实现ElGamal加密算法的示例代码

    Python实现ElGamal加密算法的完整攻略 ElGamal加密算法是一种公钥加密算法,用于加密和解密数据。本文将详细讲Python实现ElGamal加密算法的整个攻略,包括算法原理实现过程和示例。 算法原理 ElGamal加密算法是一种基于离散对数问题的公钥加密算,其基本思想是使用一个公钥和一个私钥来加密和解密数据。在Python中,可以使用pycry…

    python 2023年5月14日
    00
  • Go语言实现钉钉发送通知

    Go语言实现钉钉发送通知攻略 背景 现在很多公司使用钉钉作为办公工具,为了方便自己或者团队及时获取一些重要信息,需要使用钉钉发送通知。而Go语言有着高效并发和易于编写的特点,可以轻松地实现钉钉发送通知的功能。 实现步骤 步骤一:申请钉钉机器人 在使用钉钉发送通知时,需要先在钉钉中申请机器人。可以通过以下步骤进行申请: 登录钉钉开放平台(https://ope…

    python 2023年6月3日
    00
  • Python实现封装打包自己写的代码,被python import

    下面将详细讲解“Python实现封装打包自己写的代码,被python import”的完整攻略: 1. 创建Python项目 创建一个Python项目,包含需要封装的代码文件和一个空的__init__.py文件。 代码目录结构如下: myproject/ __init__.py mymodule.py mymodule.py文件中,我们编写需要封装的代码。具…

    python 2023年5月31日
    00
  • Python 向装饰器添加参数

    为了讲解Python向装饰器添加参数的使用方法,我们先来介绍一下Python装饰器的基本概念。 Python装饰器是一种函数,它可以接受一个函数作为参数,并返回一个新的函数。装饰器可以在不修改原函数的情况下,增加一些额外的功能。在Python中,我们可以通过“@”符号来使用装饰器,例如: @decorator def func(): pass 在这个例子中,…

    python-answer 2023年3月25日
    00
合作推广
合作推广
分享本页
返回顶部