python技能之数据导出excel的实例代码

下面是关于Python数据导出Excel的完整实例教程:

第一步:安装必要的包

导出Excel需要使用到 openpyxl 包,所以需要先安装该包。可以使用以下命令进行安装:

pip install openpyxl

第二步:创建一个Excel文件并添加数据

可以使用下面的示例代码创建一个Excel文件,并向其中添加一些数据:

from openpyxl import Workbook

# 创建一个新的Excel文件
wb = Workbook()

# 选择默认的工作表
ws = wb.active

# 添加表头
ws['A1'] = '姓名'
ws['B1'] = '年龄'
ws['C1'] = '性别'

# 添加数据
ws['A2'] = '张三'
ws['B2'] = 18
ws['C2'] = '男'

ws['A3'] = '李四'
ws['B3'] = 20
ws['C3'] = '男'

ws['A4'] = '王五'
ws['B4'] = 22
ws['C4'] = '女'

# 保存Excel文件
wb.save('example.xlsx')

该示例代码中,创建了一个新的Excel文件,并选择默认的工作表,然后在工作表中添加了表头和数据,最后保存Excel文件。

第三步:导出Excel文件

下面的示例代码将读取上一步中创建的Excel文件,然后将其导出为CSV格式:

from openpyxl import load_workbook
import csv

# 读取Excel文件
wb = load_workbook('example.xlsx')

# 选择默认的工作表
ws = wb.active

# 读取数据并将其写入CSV文件
with open('example.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    for row in ws.iter_rows():
        writer.writerow([cell.value for cell in row])

该示例代码中,使用 load_workbook 方法读取Excel文件,然后选择默认的工作表。接着,使用 iter_rows 方法遍历工作表中的所有行,并将每一行的数据写入CSV文件中。

示例说明

下面是两个示例说明:

示例一:从数据库中读取数据并导出为Excel文件

假设你有一个MySQL数据库,其中存储了某个表的数据,你希望将这些数据导出为Excel文件。你可以使用以下代码实现:

import pymysql
from openpyxl import Workbook

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

# 从数据库中获取数据
with conn.cursor() as cursor:
    sql = 'SELECT * FROM `user`'
    cursor.execute(sql)
    data = cursor.fetchall()

# 创建一个新的Excel文件
wb = Workbook()

# 选择默认的工作表
ws = wb.active

# 添加表头
ws['A1'] = '姓名'
ws['B1'] = '年龄'
ws['C1'] = '性别'

# 添加数据
for i, row in enumerate(data):
    ws.cell(row=i+2, column=1, value=row['name'])
    ws.cell(row=i+2, column=2, value=row['age'])
    ws.cell(row=i+2, column=3, value=row['gender'])

# 保存Excel文件
wb.save('user.xlsx')

# 关闭数据库连接
conn.close()

该示例代码中,首先使用 pymysql 模块连接到MySQL数据库,并从数据库中获取数据。然后,创建一个新的Excel文件,并向其中添加表头和数据,最后保存Excel文件。

示例二:导出Excel文件中的数据到数据库

假设你有一个含有学生信息的Excel文件,你希望将其中的数据导入到MySQL数据库中。你可以使用以下代码实现:

import pymysql
from openpyxl import load_workbook

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

# 读取Excel文件中的数据
wb = load_workbook('students.xlsx')
ws = wb.active

# 将数据导入到数据库
with conn.cursor() as cursor:
    for row in ws.iter_rows(min_row=2):
        name = row[0].value
        age = row[1].value
        gender = row[2].value

        sql = 'INSERT INTO `student` (`name`, `age`, `gender`) VALUES (%s, %s, %s)'
        cursor.execute(sql, (name, age, gender))

    conn.commit()

# 关闭数据库连接
conn.close()

该示例代码中,首先使用 load_workbook 方法读取Excel文件,然后选择默认的工作表。接着,使用 iter_rows 方法遍历工作表中的所有行,并将每一行的数据导入到MySQL数据库中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python技能之数据导出excel的实例代码 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python高斯消除矩阵

    下面是Python高斯消除矩阵的完整攻略: 什么是高斯消除法? 高斯消除法,也叫高斯-约旦消元法,是一种求解线性方程组的方法。它通过行变换将线性方程组转化为阶梯矩阵(上三角矩阵),从而容易求解。这个方法是由高斯首先提出的。 高斯消除法的步骤 将方程组的系数矩阵和常数项组成增广矩阵; 利用初等行变换,将增广矩阵化为阶梯矩阵; 对阶梯矩阵进行回代,得到方程组的解…

    python 2023年5月31日
    00
  • 解决json中ensure_ascii=False的问题

    要解决json中ensure_ascii=False的问题,我们需要了解以下几点。 ensure_ascii参数的作用 在Python中,将数据保存为json格式时,默认情况下会将非ASCII字符转换为Unicode编码的转义序列,确保输出的json数据可以正确地解码为Unicode字符串。这种转换是通过设置ensure_ascii=True来实现的。 确保…

    python 2023年5月20日
    00
  • python调用api实例讲解

    Python调用API实例讲解 在Python中,可以使用requests库调用API。以下是两个示例,介绍了如何使用Python调用API。 示例一:使用Python调用GET API 以下是一个示例,可以使用Python调用GET API: import requests url = ‘https://api.example.com/users’ par…

    python 2023年5月15日
    00
  • python标准库模块之json库的基础用法

    当我们需要在不同的技术栈之间交换数据时,我们需要一种简便易行的方式,以确保数据格式的一致性。在Python中,JSON(JavaScript Object Notation)是一种流行的格式,它被广泛用于数据交换,因为它易于阅读和理解,并且它的轻量性可以轻松地处理大量数据。Python中有一个标准库模块json库专门用于JSON的编码和解码。 基本用法 js…

    python 2023年6月3日
    00
  • 关于命令行执行Python脚本的传参方式

    关于命令行执行Python脚本的传参方式,一般有两种方式:使用sys模块和使用argparse模块。下面我将分别对这两种方式进行详细讲解。 使用sys模块 sys模块是Python标准库中的一个模块,提供了对Python解释器进行访问的一些函数和变量。其中,sys.argv是一个字符串列表,包含了命令行参数。具体步骤如下: 1.首先,在Python脚本文件中…

    python 2023年5月20日
    00
  • python 输出所有大小写字母的方法

    要输出所有大小写字母,需要借助 Python 的内置模块 string 和循环语句。下面是一些实现的方法: 方法一:直接使用列表推导式 可以使用列表推导式生成大小写字母的列表,然后使用 join 方法将列表中所有字母连接成一个字符串,最后输出即可。 import string lowercase = list(string.ascii_lowercase) …

    python 2023年6月5日
    00
  • python 实现简单的吃豆人游戏

    Python 实现简单的吃豆人游戏攻略 简介 本文将介绍用 Python 实现简单的吃豆人游戏,该游戏包括场景的设置、游戏角色的添加、游戏规则的定义等,最终实现一个适合初学者的小型 Python 游戏。 实现步骤 1. 设置游戏场景 吃豆人游戏的场景由格子组成,可以用二维数组表示。其中,0 表示墙,1 表示路,2 表示吃豆人初始位置,3 表示豆子。下面是一个…

    python 2023年6月3日
    00
  • Python真题案例之二分法查找详解

    Python真题案例之二分法查找详解 在进行数据查询的过程中,如果数据量非常庞大,普通的线性查找算法效率会很低,因此需要使用其他更高效的算法。其中一种被广泛应用的算法就是二分法查找。在这篇文章中,我们将会详细讲解二分法查找的过程,并通过示例来说明其使用方法。 一、什么是二分法查找? 二分法查找,也叫折半查找,是一种针对排过序的数组的查找算法。它将已排序的数组…

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