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删除特定文件的方法

    下面是关于Python删除特定文件的完整攻略,过程中包含两条示例说明。 1. 使用 os 模块删除文件 可以使用 os 模块中的 remove 函数来删除特定的文件,示例如下: import os # 定义文件路径 file_path = "file.txt" # 判断文件是否存在 if os.path.isfile(file_path)…

    python 2023年6月5日
    00
  • Python基础入门之seed()方法的使用

    Python基础入门之seed()方法的使用 在Python中,random模块可以用来生成随机数。seed()方法是random模块中的一个函数,通过传入一个种子值,它可以确定随机数生成器的初始状态,从而使得随机数的序列在不同的计算机上表现一致,这在一些场合下有着重要的作用。 seed()方法的使用 在使用seed()方法之前,需要导入random模块: …

    python 2023年6月3日
    00
  • 使用python解析json字段的3种方式实例

    下面我将为你详细讲解“使用python解析json字段的3种方式实例”的完整攻略。 1. 什么是JSON? JSON(JavaScript Object Notation,JavaScript对象表示法) 是一种轻量级的数据交换格式。它是基于JavaScript的语法来描述数据的,因此可以被各种不同的编程语言所支持。 JSON将数据表示为键值对的形式,键必须…

    python 2023年6月3日
    00
  • python脚本框架webpy入门安装及应用创建

    Python脚本框架web.py入门安装及应用创建完整攻略 1. 安装Web.py Web.py可以使用pip命令来安装,打开终端,输入以下命令: pip install web.py 2. 创建Web.py应用 2.1. 创建项目目录 在你喜欢的位置创建一个新目录,例如project。 mkdir project 2.2. 创建应用主文件 在项目目录中创建…

    python 2023年5月20日
    00
  • Python编程pydantic触发及访问错误处理

    在Python编程中,使用pydantic库进行数据验证和解析时,有时会遇到触发及访问错误处理的问题。本文将详细讲解如何解决这个问题。 解决方法 方法一:使用try-except语句 在Python编程中,我们可以使用try-except语句来捕获触发及访问错误处理的异常。以下是使用try-except语句的步骤: from pydantic import …

    python 2023年5月13日
    00
  • 详解Python自动化之文件自动化处理

    详解Python自动化之文件自动化处理 本文将讲解利用Python进行文件自动化处理的完整攻略,包含以下几个步骤: 控制文件路径 文件读写操作 批量操作文件 文件重命名 文件复制与移动 文件压缩 以下将详细讲解每个步骤。 1. 控制文件路径 在Python中,我们可以使用os模块来控制文件路径。该模块提供了一些用于处理文件路径的函数,如获取当前工作目录os.…

    python 2023年5月19日
    00
  • 如何使用python在SQL Server中将字符串数据类型类型的行转换为XML数据类型

    【问题标题】:How to convert rows of string data type type to XML data type in SQL Server using python如何使用python在SQL Server中将字符串数据类型类型的行转换为XML数据类型 【发布时间】:2023-04-02 04:11:02 【问题描述】: 我在我的 …

    Python开发 2023年4月8日
    00
  • python数字图像处理之高级滤波代码详解

    标题:Python数字图像处理之高级滤波代码详解 目录 介绍 准备工作 代码详解 示例一:使用中值滤波器对图像进行噪声处理 示例二:使用高斯滤波器对图像进行模糊处理 总结 介绍 数字图像处理是计算机视觉领域中的重要研究方向之一。其中图像滤波是数字图像处理的重要组成部分之一。本文将详细介绍 Python 中高级滤波的相关代码,包括中值滤波器、高斯滤波器等,并通…

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