# 第三方库 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. 力扣(LeetCode)计数质数 个人题解

    统计所有小于非负整数 n 的质数的数量. 示例: 输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 . 一般方法,也就是一般人都会用的,将数从2到它本 ...

  2. Long, long ago

    Tell me the tales that to me were so dear; 请你给我讲那亲切的故事; Long, long ago; long, long ago.; 多年以前,多年以前; ...

  3. PL真有意思(六):子程序和控制抽象

    前言 在之前我们把抽象定义为一种过程,程序员可以通过它将一个名字与一段可能很复杂的程序片段关联起来.抽象最大的意义就在于,我们可以从功能和用途的角度来考虑它,而不是实现. 在大多数程序设计语言中,子程 ...

  4. python接口自动化测试——简单的文件上传代码实现,人人网登陆后上传图片举例

    import requests '''人人网登陆,图片上传 '''def loginData(): '''登录请求参数''' data = { 'email': '13484545195', 'ico ...

  5. vue 做一个简单的TodoList

    目录结构 index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"&g ...

  6. 题解 P2669 【金币】

    似乎我这个"蒟蒻"跟各位DALAO想的不太一样 首先,输入n,使用一层循环搞定 具体思路: 使用ans作为累加器,k记录发几枚金币,s负责不断赋值给累加器,sum当这些天数的金币发 ...

  7. SpringMVC配置了拦截器(interceptors)却显示不出css、js样式的解决办法

    首先因为在web.xml里面配置了 <filter-mapping> <filter-name>characterEncodingFilter</filter-name& ...

  8. day20190916notes

    记得学完知识,趁热打铁.认真看3遍,写抄写模仿3遍.记不得,就罚抄3遍.奖罚分明.自知之明.最重要的是看懂和理解代码.能自己看懂代码,多花时间和功夫. 只要功夫深,铁杵磨成针.确定一个努力的方向,坚持 ...

  9. k8s 上部署 Redis 三主三从 集群

    目录 介绍 为什么要使用Redis? 什么是Redis群集? 在Kubernetes中部署Redis集群 从 GitHub 上下载: 创建pv 创建statefulset 创建service 初始化 ...

  10. Docker虚拟化之<基础理论>

    1.虚拟化技术的概念 (1)虚拟化技术主要是将物理的资源转变为逻辑上可以管理的资源,以打破物理结构上的壁垒,让计算元件运行在虚拟的基础上,而不是真实的物理资源上.(2)虚拟化技术的底层是要进行虚拟化的 ...