Python使用openpyxl批量处理数据

下面我来给你详细讲解一下Python使用openpyxl批量处理数据的实例教程。

目录

  1. 什么是 openpyxl
  2. 安装 openpyxl 库
  3. 批量处理 xlsx 文件的步骤
  4. 示例说明

什么是 openpyxl

openpyxl 是一个用于读取和编写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。它是一个Python编写的轻量级库,易于使用,非常适合处理大量数据。

安装 openpyxl 库

在使用 openpyxl 库之前,需要先安装它。通过 pip 命令可安装该库:

pip install openpyxl

批量处理 xlsx 文件的步骤

  1. 导入 openpyxl 库

python
import openpyxl

  1. 打开 xlsx 文件

python
workbook = openpyxl.load_workbook(filename='file.xlsx')

  1. 获取工作表

python
worksheet = workbook['Sheet1']

  1. 遍历行和列

python
for row in worksheet.iter_rows(min_row=2, values_only=True):
for column in row:
# 处理单元格的数据

  1. 保存文件

python
workbook.save(filename='file.xlsx')

示例说明

以下是两个示例说明,用于说明如何使用 openpyxl 库批量处理 xlsx 文件。

示例一:

假设我们有一个数据文件,其中包含以下信息:

姓名 性别 年龄
小明 18
小红 20
小华 22
小李 25

现在我们需要将每个人的年龄加 10,并将结果保存到同一文件的另一个工作表中。

import openpyxl

# 打开数据文件
workbook = openpyxl.load_workbook(filename='data.xlsx')

# 获取源工作表和目标工作表
worksheet_source = workbook['Sheet1']
worksheet_target = workbook.create_sheet('new_sheet')

# 遍历行和列
for row in worksheet_source.iter_rows(min_row=2, values_only=True):
    age = row[2] + 10
    worksheet_target.append([row[0], row[1], age])

# 保存文件
workbook.save(filename='data.xlsx')

示例二:

假设我们有一个文件夹,其中包含 xlsx 格式的多个文件。现在我们需要批量将这些文件中的数据进行处理,并将处理结果保存到一个新文件夹中。

import os
import openpyxl

# 原始文件夹和目标文件夹
source_folder = './data/'
target_folder = './processed_data/'

# 创建目标文件夹
if not os.path.exists(target_folder):
    os.makedirs(target_folder)

# 遍历原始文件夹中的文件
for filename in os.listdir(source_folder):
    if filename.endswith('.xlsx'):
        # 打开文件
        workbook = openpyxl.load_workbook(filename=source_folder + filename)

        # 获取源工作表和目标工作表
        worksheet_source = workbook['Sheet1']
        worksheet_target = workbook.create_sheet('new_sheet')

        # 遍历行和列
        for row in worksheet_source.iter_rows(min_row=2, values_only=True):
            age = row[2] + 10
            worksheet_target.append([row[0], row[1], age])

        # 保存文件
        new_file_name = target_folder + filename
        workbook.save(filename=new_file_name)

以上就是 Python 使用 openpyxl 批量处理数据的完整实例教程,包含两个示例说明。希望能对你的学习有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python使用openpyxl批量处理数据 - Python技术站

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

相关文章

  • python如何实现常用的五种排序算法详解

    下面是关于“Python实现常用的五种排序算法详解”的完整攻略。 1. 排序算法理论基础 排序算法是一种常用的算法,它可以一组数据按照一定的规则进行排序。常用的排序算法有五种,分别是冒泡排序、选择排序、插入排序、速排序和归并排序。 1.1 冒泡排序 冒泡排序是一种简单的排序算法,它的基本思想是通过邻元素之间的较和交换来实现排序。具体实现过程是从第一个元素开始…

    python 2023年5月13日
    00
  • python 调用API接口 获取和解析 Json数据

    在Python中,可以使用requests模块调用API接口获取和解析JSON数据。以下是Python调用API接口获取和解析JSON数据的详细攻略: 调用API接口 要调用API接口,可以使用requests.get()方法。以下是调用API接口的示例: import requests response = requests.get(‘https://js…

    python 2023年5月14日
    00
  • 如何在 Python 中创建一个接受数字列表和整数的函数?

    【问题标题】:How can I create a function in Python that takes a list of numbers and an integer?如何在 Python 中创建一个接受数字列表和整数的函数? 【发布时间】:2023-04-02 06:06:01 【问题描述】: 我正在寻找一个函数,它接受一个列表和一个整数作为参数…

    Python开发 2023年4月8日
    00
  • python字典键值对的添加和遍历方法

    下面是Python字典键值对的添加和遍历方法的完整攻略: 添加键值对 Python字典是一种无序的键值对集合。在Python中,可以通过以下方式向字典中添加新的键值对: 1. 直接赋值法 通过直接给字典进行赋值的方式添加新的键值对: # 定义一个空字典 my_dict = {} # 直接赋值添加键值对 my_dict["name"] = …

    python 2023年5月13日
    00
  • python冒泡排序算法的实现代码

    下面是“Python冒泡排序算法的实现代码”的完整攻略,包含两个示例说明。 冒泡排序算法 冒泡排序算法是一种简单的排序算法,它的基本思想是通过不断交换相邻的元素,将较大的元素逐渐“冒泡”到数组的末尾,从而实现排序。具体步骤如下: 从数组的第一个元素开始,依次比较相邻的两个元素,如果前一个元素比后一个元素大,则交换这两个元素的位置。 继续比较下一个相邻的两个元…

    python 2023年5月14日
    00
  • 获取python运行输出的数据并解析存为dataFrame实例

    要获取Python运行输出的数据并解析存为dataFrame实例,需要使用Python的标准库subprocess和pandas。 步骤如下: 编写可以输出数据的Python脚本或命令行命令。比如下面这个Python脚本,它会计算斐波那契数列,并将结果打印到控制台: “`pythondef fibonacci(n): if n <= 2: retur…

    python 2023年6月5日
    00
  • Python的Lambda函数用法详解

    Python的Lambda函数用法详解 在Python中,Lambda函数是一种匿名函数,它可以在一行代码中定义简单的函数。Lambda函数通常用于函数式编程,例如在map()、filter()和reduce()等函数中。本文将详细讲解Python的Lambda函数用法,包括基本用法、高级用法和示例。 基本用法 Lambda函数的基本语法如下: lambda…

    python 2023年5月13日
    00
  • python保留小数位的三种实现方法

    当我们使用Python编程时,经常需要对数字进行精确的精度处理,包括保留小数位数,下面给出三种Python保留小数位的实现方法。 方法一:使用round函数 round函数是Python内置的用于数值四舍五入操作的函数,可以实现保留小数位的功能。对于任意一个数值a,使用round(a,n)函数可以保留a的小数点后n位。例如,对于数字1.23456789使用r…

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