代码实现顺序:

按行读取

按列读取

满足if条件

单元格值赋值给字典

实现代码:


datas = []# 定义一个空列表
for i in range (3,nrows):
sheet_data={}# 定义一个空字典
for j in range(ncols):
c_type=table.cell(i,j).ctype# 获取单元格数据类型
c_cell=table.cell_value(i,j)# 获取单元格数据 if '加班' in str(c_cell): sheet_data[keys[i]]=c_cell
# 循环每一个有效的单元格,将字段与值对应存储到字典中
# 字典的key就是excel表中每列第一行的字段 #print(sheet_data)
datas.append(sheet_data)# 再将字典追加到列表中

问题:按列读取单元格内容时,符合条件的最后一个单元格将之前的内容覆盖,字典中只有一个值

刚开始发现是不是不能使用‘=’

试了一下sheet_data[keys[i]].update(c_cell)报错 keyerror

后来print()打印输出明细查看每一个记录其实已经赋值了

仔细查代码发现

追加语句放到了if语句之外,放到里面就ok了

实现同一个key 多个值

总结~~

调试程序勤用print()

注意for、if 执行语句的内在关系

python xlrd 读取表格 单元格值被覆盖的更多相关文章

  1. 用Python的xlrd模块处理时间单元格

    import xlrd data = xlrd.open_workbook(EXCEL_PATH) table = data.sheet_by_index(0) lines = table.nrows ...

  2. C# 对Excel操作时,单元格值的读取

    一.Range中Value与Value2的区别 当range("A1:B10")设置为 Currency (货币)和 Date (日期.日期时间)数据类型时,range2将返回对应 ...

  3. [Python]xlrd 读取excel 日期类型2种方式

    有个excle表格须要做一些过滤然后写入数据库中,可是日期类型的cell取出来是个数字,于是查询了下解决的办法. 主要的代码结构 data = xlrd.open_workbook(EXCEL_PAT ...

  4. python-Excel读取-合并单元格读取

    python-Excel读取-合并单元格读取(后续会补充python-Excel写入的部分) 1. python读取Excel单元格 代码包含读取Excel中数据,以及出现横向合并单元格,以及竖向合并 ...

  5. Python 实现 Excel 里单元格的读写与清空操作

    #coding=utf-8 # coding=utf-8 作用是声明python代码的文本格式是utf-8,python按照utf-8的方式来读取程序. # 如果不加这个声明,无论代码中还是注释中有中 ...

  6. javascript生成表格增删改查 JavaScript动态改变表格单元格内容 动态生成表格 JS获取表格任意单元格 javascript如何动态删除表格某一行

    jsp页面表格布局Html代码 <body onload="show()"> <center> <input type="text" ...

  7. selenium获取html的表格单元格数据

    获取网页的表格的某个单元格的值,思路: 1.获取表格 2.获取表格的所有行 3.根据某一行获取该行的所有列 4.根据某一列获得该行该列的单元格值 根据以上思路,可以知道,只需要行.列就可以得到单元格的 ...

  8. 关于html表格单元格宽度的计算规则

    * { margin: 0; padding: 0 } body { background: #fafafa } ul,li { list-style: none } h1 { margin: 20p ...

  9. poi读取合并单元格

    poi读取合并单元格 学习了:http://blog.csdn.net/ycb1689/article/details/9764191 进行了列合并单元格的修正:原来是我自己找错了地方: import ...

  10. Bootstrap:Bootstrap_table第一篇:快速用bootstrap_table(支持参数)筛选并展示数据,固定表格前几列,实现表格单元格编辑

    1.准备好css和js文件 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstr ...

随机推荐

  1. UML之包的导入与访问

    包是UML中管理元素的有效手段,UML中的所有元素均隶属于某一个包,即使你没有指定元素所属的包,这些元素也会被置于一个默认包中,包的本质是命名空间.当我们在一个包中需要访问另一个包中的元素时,可以使用 ...

  2. java中基于swing库自定义分页组件

    一个swing的分页组件,代码见附件. //用法如下:  Class Test{      JTable table ;      StatusBar statusBar ;      Test(){ ...

  3. 移动端弱网优化专题(十四):携程APP移动网络优化实践(弱网识别篇)

    本文由携程技术团队Aaron分享,原题"干货 | 携程弱网识别技术探索",下文进行了排版和内容优化. 1.引言 网络优化一直是移动互联网时代的热议话题,弱网识别作为移动端弱网优化的 ...

  4. Transformer总结

    Contents Attention OverallSurvey NLP Language Speech CV Backbone_Classification Self-Supervised Inte ...

  5. python连接pgsql&mysql

    1.python连接pgsql import psycopg2 def connect_pgsql(list_sql): conn = psycopg2.connect(host='db_host', ...

  6. 场景题:假设有40亿QQ号,但只有1G内存,如何实现去重?

    当数据量比较大时,使用常规的方式来判重就不行了.例如,使用 MySQL 数据库判重,或使用 List.contains() 或 Set.contains() 判重就不行了,因为数据量太大会导致内存放不 ...

  7. Java AQS学习笔记

    1. AQS介绍 AQS的全称为(AbstractQueuedSynchronizer),这个类在java.util.concurrent.locks包下面. AQS是一个用来构建锁和同步器的框架,使 ...

  8. 永远不要轻易设置Oracle的隐藏参数,哪怕是DRM

    这篇文章可能会存在较大争议,甚至颠覆一些人的固有思维. 因为关于Oracle的隐藏参数,江湖上一直都有两派对立的观点: 1.不要设置任何隐藏参数,只有当遇到特殊问题时在售后指导下临时使用,在问题解决后 ...

  9. .NET周刊【1月第1期 2025-01-05】

    国内文章 3款.NET开源.功能强大的通讯调试工具,效率提升利器! https://www.cnblogs.com/Can-daydayup/p/18631410 本文介绍了三款功能强大的.NET开源 ...

  10. 159:更改shell环境