# 第三方库 openpyxl

# install 安装
# pip install openpyxl

# 引入第三方库
# excel操作的流程:
# 打开excel,进入工作薄 workbook
# 选择表单 Sheet
# 单元格 Cell
# 读写操作

# 测试数据是已经存在的。表格至少是存在的。

from openpyxl import load_workbook
wb = load_workbook(r'D:\Pychram-Workspace\python17\class_20190507\datas.xlsx')
# wb.read_only
# from openpyxl.workbook import Workbook

# 表单 workSheet
sh = wb["case_datas"]

# 获取单元格-值. 从1开始。# 读取单元格的值
print(sh.cell(1,1).value)

# # 写单元格的值
# sh.cell(6,1).value = "二狗"

# # 保存写入的数据 - 整个工作薄
# wb.save(r'D:\Pychram-Workspace\python17\class_20190507\datas.xlsx')

# 总行号
rows = sh.max_row
print(rows)
colums = sh.max_column
print(colums)

# 遍历行号
for row in range(2,rows+1): # 行号
print("第几行:",row)
row_datas = {}
for col in range(1,colums+1): # 列号
# print(sh.cell(row,col).value)
# 第一行不动。第一行的所有列都是key key对应的value是谁?
row_datas[sh.cell(1,col).value] = sh.cell(row,col).value
print("本行的数据为:",row_datas)

# 姓名:小简 年龄:20 班级:py17
# 第一行不动。第一行的所有列都是key key对应的value是谁?

# 封装为一个类。exel样式内容。读(一行、所有的数据)、写操作、保存操作
# 测试自己的类,是否功能有bug。

# pip install pandas

# today 总结
# 反射 hasattr getattr setattr delattr
# exel数据操作 - openpyxl
# workbook、sheet、cell
# 加载一个工作薄 wb = load_workbook(excel_filepath) r
# 挑表单 sh = wb["表单名称"]
# 挑单元格 sh.cell(row,column) # 对象
# 读取单元格 value = sh.cell(row,column).value # 下标从1开始
# 修改/添加值 sh.cell(row,column).value = new_value
# 保存 wb.save(excel_filepath) # 由路径 决定 是另存为,还是原来的文件。
# 总行号 sh.max_row
# 总列号 sh.max_column

# 读取所有的数据 for for

python学习-excel读取的更多相关文章

  1. python学习-文件创建读取

    # 文件创建 # 读写# 文件存在?不存在?在操作系统上# 读 read r 写 write w# 打开一个文件# fs = open("xiaojian.txt",encodin ...

  2. 第二弹:超全Python学习资源整理(进阶系列)

    造一个草原要一株三叶草加一只蜜蜂.一株三叶草,一只蜂,再加一个梦.要是蜜蜂少,光靠梦也行. - 狄金森 "成为编程大牛要一门好语言加一点点天分.一门好语言,一点点天分,再加一份坚持.要是天分 ...

  3. 用python在excel中读取与生成随机数写入excel中

    今天是我第一次发博客,就关于python在excel中的应用作为我的第一篇吧. 具体要求是:在一份已知的excel表格中读取学生的学号与姓名,再将这些数据放到新的excel表中的第一列与第二列,最后再 ...

  4. Python学习随笔:使用xlwings设置和操作excel多行多列数据以及设置数据字体颜色填充色对齐方式的方法

    ☞ ░ 前往老猿Python博文目录 ░ 在前面老猿的文章中,<Python学习随笔:使用xlwings读取和操作Excel文件>.<Python学习随笔:使用xlwings读取和操 ...

  5. python使用 openpyxl包 excel读取与写入

    '''### 写入操作 ###from openpyxl import Workbook#实例化对象wb=Workbook()#创建表ws1=wb.create_sheet('work',0) #默认 ...

  6. python使用xlrd读取excel数据时,整数变小数的解决办法

    python使用xlrd读取excel数据时,整数变小数: 解决方法: 1.有个比较简单的就是在数字和日期的单元格内容前加上一个英文的逗号即可.如果数据比较多,也可以批量加英文逗号的前缀(网上都有方法 ...

  7. 深入学习python解析并读取PDF文件内容的方法

    这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...

  8. 【python-excel】Selenium+python自动化之读取Excel数据(xlrd)

    Selenium2+python自动化之读取Excel数据(xlrd) 转载地址:http://www.cnblogs.com/lingzeng86/p/6793398.html ·········· ...

  9. python学习笔记(八)python操作Excel

    一.python操作excel,python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的 ...

随机推荐

  1. Json模块和Pickle模块的使用

    在对数据进行序列化和反序列化是常见的数据操作,Python提供了两个模块方便开发者实现数据的序列化操作,即 json 模块和 pickle 模块.这两个模块主要区别如下: json 是一个文本序列化格 ...

  2. 从cocos2dx源代码看android和iOS跨平台那些事

    cocos2dx一个跨移动(平板)平台的游戏引擎,支持2d和3d,基于c/c++,网上介绍多在此不详叙.我们本篇关心的是跨平台那些事,自然而然就找到platform目录.好家伙,支持的操作平台还真不少 ...

  3. elementui分页记录,reserve-selection

    第一步:在<el-table></el-table>标签中加上 :row-key="getRowKeys" 第二步:在<el-table-column ...

  4. C++学习第一天(打卡)

    C++和C最大的区别可能就是添加了面向对象的编程. using namespace std 是其中oop的一个特性. using namespace std 可以使程序使用std名称空间里面的定义. ...

  5. Redis的存储类型、集群架构、以及应用场景

    什么是redis redis是一种支持Key-Value等多种数据结构的存储系统.可用于缓存.事件发布或订阅.高速队列等场景.该数据库使用ANSI C语言编写,支持网络,提供字符串.哈希.列表.队列. ...

  6. webapi跨域使用session

    在之前的项目中,我们设置跨域都是直接在web.config中设置的. 这样是可以实现跨域访问的.因为我们这边一般情况下一个webapi会有多个网站.小程序.微信公众号等访问,所以这样设置是没有问题的. ...

  7. 高德JS依赖分析工程及关键原理

    一.背景 高德 App 进行 Bundle 化后,由于业务的复杂性,Bundle 的数量非常多.而这带来了一个新的问题——Bundle 之间的依赖关系错综复杂,需要进行管控,使 Bundle 之间的依 ...

  8. PHP+Redis实现延迟任务,实现自动取消与完成订单

    简单定时任务解决方案:使用redis的keyspace notifications(键失效后通知事件) : (A)业务场景: 1.当一个业务触发以后需要启动一个定时任务,在指定时间内再去执行一个任务( ...

  9. Java中的Calendar 类和SimpleDateFormat 类

    1.Calendar 类:import java.util.Calendar;               Calendar cal = Calendar.getInstance();        ...

  10. python常见字符串操作

    附: python2.x和python3.x中raw_input( )和input( )区别: 备注:1.在python2.x中raw_input( )和input( ),两个函数都存在,其中区别为r ...