Python实现对Excel表格的操作详解

 更新时间:2024年02月11日 10:45:32   作者:码银  
这篇文章主要介绍了Python实现对Excel表格的操作,在数据处理和报告生成等工作中,Excel表格是一种常见且广泛使用的工具,使用Python来处理Excel表格能够大大的提升效率,感兴趣的同学可以参考下

导包

要想使用 python 操作 Excel 文件,应当导入 openpyxl包。在命令行中输入以下字段:

pip install openpyxl

导入包:

import openpyxl

读取EXCEL文件

这里会使用openpyxl.load_workbook() 方法打开Excel文件,请看示例代码:

import openpyxl
file = 'test.xlsx'
ex = openpyxl.load_workbook(file) #打开test.xlsx文件

获取worksheet名称

worksheet,即下方的工作表,打开Excel表格后,下方左下角的 “+”号可以建立新的worksheet。

在python中,我们使用 get_sheet_names()方法获取全部的工作表名称,通过get_active_sheet()方法获取当前工作表的名称。

import openpyxl
file = 'test.xlsx'
ex = openpyxl.load_workbook(file) #打开test.xlsx文件
allSheets = ex.get_sheet_names()
print("所有工作表=",allSheets)
local_Sheet = ex.get_active_sheet()
print('当前工作表名称:',local_Sheet)

使用上述代码会发生警告的话,可以使用下面的代码达到更好的效果:

  • ex.sheetnames
  • ex.active.title
import openpyxl
file = 'test.xlsx'
ex = openpyxl.load_workbook(file) #打开test.xlsx文件
allSheets = ex.sheetnames
print("所有工作表=",allSheets)
local_Sheet = ex.active.title
print('当前工作表名称:',local_Sheet)

设定当前工作表

import openpyxl
file = 'test.xlsx'
ex = openpyxl.load_workbook(file) #打开test.xlsx文件
allSheets = ex.sheetnames
print("所有工作表=",allSheets)
ws = ex.get_sheet_by_name('Sheet3')
print("当前工作表=",ws.title)

也可以这么写,也能达到一样的效果:

import openpyxl
file = 'test.xlsx'
ex = openpyxl.load_workbook(file) #打开test.xlsx文件
allSheets = ex.sheetnames
print("所有工作表=",allSheets)
wb = ex.worksheets[2]
print("当前工作表=",wb.title)

输出目标单元格数据

本篇文章中使用的表格内容

  • 行和列:Excel工作表由行和列组成,行和列交叉形成单元格。每个单元格可以存储一个数据值、公式或函数等。
  • 单元格:是Excel工作表中的最小单位,用于存储单一的数据值。单元格的地址由列号和行号确定,例如A1表示第1列第1行的单元格。
import openpyxl
file = 'test.xlsx'
ex = openpyxl.load_workbook(file) #打开test.xlsx文件
ex.active = ex.worksheets[0]
print("当前工作表=",ex.active.title)
wb = ex.active
print("单元格A1=",wb['A1'].value)
print("单元格A2=",wb['A2'].value)
print("单元格B2=",wb['B1'].value)
print("单元格B3=",wb['B3'].value)
print("单元格C5=",wb['C10'].value)

工作表.rows(行)

.rowsopenpyxl库中的一个属性,用于遍历 Excel 工作表中的所有行。在openpyxl中,每个工作表对象都有一个rows属性,它返回一个生成器,用于产生工作表中的所有行。

import openpyxl
file = 'test.xlsx'
ex = openpyxl.load_workbook(file) #打开test.xlsx文件
wb = ex.worksheets[0]
print("当前工作表=",wb.title)
for row in wb.rows:
    for cell in row:
        print(cell.value, end=' ')
    print()

工作表.columns(列)

.columnsopenpyxl库中的一个属性,用于遍历 Excel 工作表中的所有列。在openpyxl中,每个工作表对象都有一个columns属性,它返回一个生成器,用于产生工作表中的所有列。

import openpyxl
file = 'test.xlsx'
ex = openpyxl.load_workbook(file) #打开test.xlsx文件
wb = ex.worksheets[0]
print("当前工作表=",wb.title)
for column in wb.columns:
    for cell in column:
        print(cell.value, end=' ')
    print()

小结

本篇文章中介绍了如何使用python语言操作Excel表格。

主要内容包括,导包, 读取EXCEL文件:

1、获取worksheet名称

2、设定当前工作表

3、输出目标单元格数据

4、工作表.rows(行)

5、工作表.columns(列)

到此这篇关于Python实现对Excel表格的操作详解的文章就介绍到这了,更多相关Python Excel操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • django 使用内置messages的操作

    django 使用内置messages的操作

    这篇文章主要介绍了django 使用内置messages的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Python 性能优化技巧总结

    Python 性能优化技巧总结

    代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构、优化、扩展以及文档相关的事情通常需要消耗 80% 的工作量。优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。
    2016-11-11
  • Mysql分组查询group by与with rollup方式

    Mysql分组查询group by与with rollup方式

    这篇文章主要介绍了Mysql分组查询group by与with rollup方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python并行分布式框架Celery详解

    Python并行分布式框架Celery详解

    今天小编就为大家分享一篇关于Python并行分布式框架Celery详解的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • TensorBoard 计算图的查看方式

    TensorBoard 计算图的查看方式

    今天小编就为大家分享一篇TensorBoard 计算图的查看方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python实现对图像加噪(高斯噪声 椒盐噪声)

    Python实现对图像加噪(高斯噪声 椒盐噪声)

    这篇文章主要介绍了展示通过Python给图像叠加不同等级的椒盐噪声和高斯噪声的代码,相应的叠加噪声的已编为对应的类,可实例化使用。感兴趣的同学可以看看
    2021-11-11
  • python 限制函数调用次数的实例讲解

    python 限制函数调用次数的实例讲解

    下面小编就为大家分享一篇python 限制函数调用次数的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • python中bs4.BeautifulSoup的基本用法

    python中bs4.BeautifulSoup的基本用法

    这篇文章主要介绍了python中bs4.BeautifulSoup的基本用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • 深入浅析Python传值与传址

    深入浅析Python传值与传址

    这篇文章主要介绍了Python传值与传址的相关知识,包括传值与传址的区别介绍,需要的朋友可以参考下
    2018-07-07
  • Python Socket多线程并发原理及实现

    Python Socket多线程并发原理及实现

    这篇文章主要介绍了Python Socket多线程并发原理及实现,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12

最新评论