资讯专栏INFORMATION COLUMN

python3与Excel的完美结合

enrecul101 / 2146人阅读

摘要:对象也有和属性提供该单元格的位置信息。读取对象的属性一个完整的案例代码如下读取文档返回一个对象,有点类似于文件对象在工作薄中取得工作表返回一个列表,存储表中所有的工作表返回一个对象,返回当前的活动表获取工作表中,单元格的信息的属性

Excel 是 Windows 环境下流行的、强大的电子表格应用。openpyxl 模块让 Python 程序能读取和修改 Excel 电子表格文件。例如,可能有一个无聊的任务,需要从一个电子表格拷贝一些数据,粘贴到另一个电子表格中。或者可能需要从几千行中挑选几行,根据某种条件稍作修改。或者需要查看几百份部门预算电子表格,寻找其中的赤字。正是这种无聊无
脑的电子表格任务,可以通过 Python 来完成。LibreOffice Calc, WPS 和 OpenOffice Calc 都能处理 Excel 的电子表格文件格式,这意味着 openpyxl 模块也能处理来自这些应用程序的电子表格。你可以从 https://www.libreoffice.org/和 http://www.openoffice.org/下载这些软件。即使你的计算机上已经安装了 Excel,可能也会发现这些程序更容易使用。

1. Excel文档基本定义

工作簿(workbook): 一个 Excel 电子表格文档;

工作表(sheet): 每个工作簿可以包含多个表, 如: sheet1, sheet2等;

活动表(active sheet): 用户当前查看的表;

列(column): 列地址是从 A 开始的;

行(row): 行地址是从 1 开始的;

单元格(cell): 特定行和列的方格;

2. 安装 openpyxl 模块

Python 没有自带 openpyxl,所以必须安装。

pip3 install openpyxl
3. 读取 Excel 文档

将使用一个电子表格 example.xlsx,你可以自己创建这个电子文档,内容如下:

在导入 openpyxl 模块后,就可以使用 openpyxl.load_workbook()函数。打开 Excel 文档

# 导入工作薄
1. wb = openpyxl.load_workbook("excelDemo/example.xlsx")    # 加载工作薄
2. wb.sheetnames                                       # 获取当前所有工作表的名称, 返回一个列表 
3. wb.active                                           # 获取当前活跃的工作表 

从工作簿中取得工作表

4. sheet = wb["Sheet1"]                # 工作表
5. sheet.title                         # 获取当前活动表的名称
6. sheet.cell(row=1, column=2)         #  获取单元格指定行和指定列的内容

表中取得单元格

Cell 对象有一个 value 属性,不出意外,它包含这个单元格中保存的值。Cell 对象也有 row、column 和 coordinate 属性,提供该单元格的位置信息。

row属性给出的是整数 1,column 属性给出的是"B",coordinate 属性给出的是"B1"。

6. cell = sheet["A1"]
7. cell_value = sheet["A1"].value
8. cell.row, cell.column cell.coordinate
4. 工作簿、工作表、单元格

下面是从电子表格文件中读取单元格涉及的所有函数、方法和数据类型。一个完整的操作过程如下:

导入 openpyxl 模块。

调用 openpyxl.load_workbook()函数。

取得 Workbook 对象。

调用 wb.sheetnames和 wb.active 获取工作簿详细信息。

取得 Worksheet 对象。

使用索引或工作表的 cell()方法,带上 row 和 column 关键字参数。

取得 Cell 对象。

读取 Cell 对象的 value 属性

一个完整的案例代码如下:

import openpyxl


# 1. 读取excel文档
wb = openpyxl.load_workbook("excelDemo/example.xlsx")

# # 返回一个workbook对象, 有点类似于文件对象;
# print(wb, type(wb))



# 2. 在工作薄中取得工作表
# print(wb.get_sheet_names())
# 返回一个列表, 存储excel表中所有的sheet工作表;
print(wb.sheetnames)

# 返回一个worksheet对象, 返回当前的活动表;
# print(wb.get_active_sheet())
# print(wb.active)



# 3. 获取工作表中, 单元格的信息
# wb.get_sheet_by_name("Sheet1")
sheet = wb["example"]
print(sheet["A1"])
print(sheet["B1"].value)

cell = sheet["B1"]
print(cell.row, cell.column)


print(sheet.cell(row=3, column=2))
print(sheet.cell(row=3, column=2).value)
print(sheet.cell(row=3, column=2, value="www"))


# sheet的属性

print(sheet.max_column)
print(sheet.max_row)
print(sheet.title)
sheet.title = "example"
print(sheet.title)


for row in sheet.rows:
    for cell in row:
        print(cell.value, end="	")
    print("
")

wb.save(filename="excelDemo/example.xlsx")


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/42374.html

相关文章

  • Python3中级玩家:淘宝天猫商品搜索爬虫自动化工具(第一篇)

    摘要:这就是我们第一个核心函数代码,后面还有很多个喔明天待续中级玩家淘宝天猫商品搜索爬虫自动化工具第二篇等不及,请武装 查看·Github 使用Golang重构PC版本搜索框:https://github.com/hunterhug/... 一、前言 大家好,今天我要来讲讲一个比较实用的爬虫工具,抓取淘宝的关键字商品信息,即是: showImg(https://segmentfault.co...

    oliverhuang 评论0 收藏0
  • EXCEL必备工具箱(EXCELtool)官方免费版V17.0 | 超级excel插件工具箱下载 |

    摘要:必备工具箱威航软件园温馨提示由于先天不支持插件撤销事项,所以必备工具箱的任何操作都不可以撤销,但是在中就可以任意撤销,此外大家还可以通过这款强大的插件工具箱对烦人的热点弹窗功能予以彻底屏蔽哦。             EXCEL必备工具箱是一款大部分功能免费且齐全可还能同时支持微软EXCEL...

    Sike 评论0 收藏0
  • Python3使用csv模块csv.writer().writerow()保存csv文件,产生空行

    摘要:问题保存的文件,打开时每行后都多一行空行调用该方法将数据写入文件,打开文件后,发现写入的数据形式如下每一行数据后面都自动增加了一个空行。该问题解决方法在内增加一个参数即可,更改后代码结构如下重新执行该程序后,得到了想要的结果,结果如下 问题:csv.writer().writerow()保存的csv文件,打开时每行后都多一行空行 def write_csv_file(path, hea...

    trigkit4 评论0 收藏0
  • Pandasopenpyxl库超强结合,再见,Excel

    摘要:前言用过和库的同学都知道,这两个库是相互互补的。绝对是中处理最快最好用的库,但是使用的一些优势是能够轻松地使用样式条件格式等自定义电子表格。事实上,支持将数据从转换为工作簿,或者相反,将工作簿转换为。 ...

    Tonny 评论0 收藏0
  • SegmentFault 技术周刊 Vol.30 - 学习 Python 来做一些神奇好玩事情吧

    摘要:学习笔记七数学形态学关注的是图像中的形状,它提供了一些方法用于检测形状和改变形状。学习笔记十一尺度不变特征变换,简称是图像局部特征提取的现代方法基于区域图像块的分析。本文的目的是简明扼要地说明的编码机制,并给出一些建议。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 开始之前,我们先来看这样一个提问: pyth...

    lifesimple 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<