如何用python处理excel表格

下面是详细讲解“如何用Python处理Excel表格”的完整实例教程。

1. 准备工作

在Python中处理Excel表格需要安装openpyxl库,使用pip命令安装:

pip install openpyxl

2. 读取Excel表格数据

使用openpyxl库可以很方便地读取Excel表格数据。假设我们有一个名为test.xlsx的Excel文件,文件中只有一个名叫Sheet1的工作表。我们可以使用以下代码读取出所有的单元格数据:

from openpyxl import load_workbook

wb = load_workbook('test.xlsx')
ws = wb['Sheet1']

for row in ws.rows:
    for cell in row:
        print(cell.value)

以上代码会输出test.xlsx文件中Sheet1工作表上所有单元格的值。ws.rows方法返回行的生成器,通过遍历行的生成器,再遍历每个单元格,我们可以获取每个单元格的值。注意:读取单元格值时使用cell.value获取单元格值。

3. 写入Excel表格数据

使用openpyxl库写入Excel表格数据也非常方便。假设我们已经读取出Excel表格中的数据,并对数据进行了处理。我们可以使用以下代码将处理后的数据写入到test.xlsx文件中的一个名为Sheet2的工作表:

from openpyxl import Workbook

wb = Workbook()
ws = wb.active

data = [['姓名', '年龄', '性别'], ['张三', 18, '男'], ['李四', 19, '女'], ['王五', 20, '男']]

for row in data:
    ws.append(row)

wb.save('test.xlsx')

以上代码会创建一个新的工作簿,并在其中创建一个工作表。将data数据中的每一行作为一行数据写入到工作表中。然后保存工作簿,即可完成数据的写入操作。

4. 示例说明

接下来,我们给出两个示例说明,分别演示如何批量读取多个Excel表格,并将数据写入到新的工作簿中。

示例一:批量读取并合并多个Excel表格

假设我们需要读取一个文件夹下的多个Excel表格,并将数据合并到一个新的工作簿中。我们可以使用以下代码来实现:

import os
from openpyxl import load_workbook, Workbook

folder_path = 'path/to/your/folder' # 指定文件夹路径
wb_new = Workbook()
ws_new = wb_new.active

for file in os.listdir(folder_path):
    if file.endswith('.xlsx'): # 只处理Excel文件
        file_path = os.path.join(folder_path, file)
        wb = load_workbook(file_path)
        ws = wb.active
        for row in ws.rows:
            row_values = [cell.value for cell in row]
            ws_new.append(row_values)

wb_new.save('merged.xlsx')

以上代码会循环迭代文件夹中的所有Excel文件,将每个文件中的所有行数据写入到新的工作表中,最终生成一个名为merged.xlsx的新的工作簿,其中包括所有Excel文件中的行数据。

示例二:将多个Excel表格数据按照固定格式写入新的工作表

假设我们有两个Excel表格,分别为data1.xlsxdata2.xlsx,两个表格的格式相同。我们需要将这两个表格中的数据按照固定格式写入到一个新的Excel表格中。我们可以使用以下代码实现:

from openpyxl import load_workbook, Workbook

wb_new = Workbook()
ws_new = wb_new.active
data_list = []

# 读取第一个Excel表格中的数据
wb1 = load_workbook('data1.xlsx')
ws1 = wb1.active
for row in ws1.rows:
    row_values = [cell.value for cell in row]
    data_list.append(row_values)

# 读取第二个Excel表格中的数据
wb2 = load_workbook('data2.xlsx')
ws2 = wb2.active
for row in ws2.rows:
    row_values = [cell.value for cell in row]
    data_list.append(row_values)

# 将数据按照指定格式写入到新的工作表
ws_new.append(['姓名', '年龄', '性别'])
for data in data_list:
    name = data[0]
    age = data[1]
    gender = data[2]
    ws_new.append([name, age, gender])

wb_new.save('output.xlsx')

以上代码的执行结果是将data1.xlsxdata2.xlsx中的所有行数据按照固定格式写入到output.xlsx文件中。注意:在写入新的工作表时,每一行数据都需要包括姓名年龄性别三个字段。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何用python处理excel表格 - Python技术站

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

相关文章

  • python中@符号实例详解

    Python中@符号实例详解 1. 装饰器 @符号在Python中常用于装饰器,在函数定义前使用,用于修饰函数,改变函数的行为,如添加日志、计时器等等。 下面是一个简单的装饰器示例: def log(func): def wrapper(*args, **kw): print(‘call %s():’ % func.__name__) return func…

    python 2023年5月31日
    00
  • 用Python的SimPy库简化复杂的编程模型的介绍

    用Python的SimPy库简化复杂的编程模型是指通过SimPy库提供的协程技术和工具类,能够更加简洁易懂地编写异步、事件驱动等复杂的程序模型。下面我们将为大家详细讲解如何使用SimPy库简化复杂的编程模型。 1. SimPy库简介 SimPy(Simulation in Python)是Python语言中的一种开源离散事件仿真库,提供强大的仿真工具和协程技…

    python 2023年6月3日
    00
  • Python多线程中阻塞(join)与锁(Lock)使用误区解析

    这里是详细的“Python多线程中阻塞(join)与锁(Lock)使用误区解析”的攻略。 什么是多线程中的阻塞和锁 在Python的多线程编程中,阻塞是指等待其他线程完成任务后再继续执行。当一个线程等待另一个线程时,它会被阻塞。这时如果我们不加以处理,就会出现线程依赖、死锁等问题。 锁则是为了保证线程间的同步和互斥,防止多个线程同时访问某一个共享资源。当一个…

    python 2023年5月19日
    00
  • Python使用Selenium爬取淘宝异步加载的数据方法

    在本攻略中,我们将介绍如何使用Python和Selenium爬取淘宝异步加载的数据。淘宝页面使用了JavaScript异步加载技术,因此我们需要使用Selenium模拟浏览器操作来获取异步加载的数据。 以下是一个完整攻略,包括两个示例。 步骤1:安装Selenium和ChromeDriver 首先,需要安装Selenium和ChromeDriver。我们可以…

    python 2023年5月15日
    00
  • 使用python通过3D点进行平面拟合

    【问题标题】:Plane fitting through points in 3D using python使用python通过3D点进行平面拟合 【发布时间】:2023-04-03 07:42:01 【问题描述】: 我在 3D 空间中有点。 X Y Z 0 0.61853 0.52390 0.26304 1 0.61843 0.52415 0.26297 …

    Python开发 2023年4月8日
    00
  • Python API 自动化实战详解(纯代码)

    Python API 自动化实战详解(纯代码)攻略 什么是API自动化? API自动化是指利用API进行自动化测试,提高测试效率和质量。通过代码对API接口进行测试,可以自动化执行多个测试用例,获取接口响应数据,判断和验证接口的正确性和稳定性等。 如何进行Python API自动化? Python是一种广泛应用于Web开发和测试的动态编程语言,有着丰富的AP…

    python 2023年5月19日
    00
  • 用Python中的NumPy在点(x,y)上评估一个二维Hermite_e数列

    要用Python中的NumPy在某个点上评估一个二维Hermite_e数列,我们可以遵循以下步骤: 步骤一:导入NumPy库 首先,我们需要导入NumPy库。可以使用下面的代码进行导入: import numpy as np 步骤二:定义二维Hermite_e数列 接下来,我们需要定义一个二维Hermite_e数列,可以使用以下代码: def hermite…

    python-answer 2023年3月25日
    00
  • Python微信库:itchat的用法详解

    Python微信库:itchat的用法详解 介绍 itchat是一个基于网页版微信实现的开源Python微信库,可以帮助我们实现简单的微信自动回复、微信信息获取、微信发送等功能。同时,itchat还支持Python3.x版本。 安装 我们可以使用pip命令安装itchat,具体命令如下: pip install itchat 登录微信 使用itchat登录微…

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