• 用python解决Excel 表中某个范围内的单元格


    0 引言

       本想法来自于leetcode第283场周赛第一题。

    1 问题描述

    Excel 表中的一个单元格 (r, c) 会以字符串 "" 的形式进行表示,其中:

    •  即单元格的列号 c 。用英文字母表中的 字母 标识。

      • 例如,第 1 列用 'A' 表示,第 2 列用 'B' 表示,第 3 列用 'C' 表示,以此类推。

    •  即单元格的行号 r 。第 r 行就用 整数 r 标识。

    给你一个格式为 ":" 的字符串 s ,其中  表示 c1 列, 表示 r1 行, 表示 c2 列, 表示 r2 行,并满足 r1 <= r2 且 c1 <= c2 。

    找出所有满足 r1 <= x <= r2 且 c1 <= y <= c2 的单元格,并以列表形式返回。单元格应该按前面描述的格式用 字符串 表示,并以 非递减 顺序排列(先按列排,再按行排)。

    提示:

    • s.length == 5

    • 'A' <= s[0] <= s[3] <= 'Z'

    • '1' <= s[1] <= s[4] <= '9'

    • s 由大写英文字母、数字、和 ':' 组成

    示例一:

    56eafc131c8b8ee7f9182bb1c7792f1d.png

    输入:s = "K1:L2"

    输出:["K1","K2","L1","L2"]

    解释:上图显示了列表中应该出现的单元格。

    红色箭头指示单元格的出现顺序。

    2 算法描述

    解题思路:我们通过示例可以很清楚的认识到我们需要解决的问题,总的来说本题的目的就两个:1.找出目标英文字母 2.找出目标的英文字母所伴随的数

    而在Python中我们可以通过ord查找目标字母的ASCLL编码,之后通过chr函数将该字母找出。在本题我们可以看出字母都在目标索引的第0位和第3位,数在第1位和第4位(数的范围在1-9,题目限制),之后我们通过两个复合循环最后解决问题。

    3 实验结果与讨论

      通过编程最终解决了该问题。

    附件

    代码清单 用python解决excle表中的单元格

    s = input()
    x = []
    for i in range(ord(s[0]), ord(s[3]) + 1):
       for o in range(int(s[1]), int(s[4]) + 1):
           x.append(chr(i)+str(o))
    print(x)

    4

       我们在解决一道问题的时候最重要的就是思路与想法,有了思路才能根据自己的思路一步步实现,并解决问题。

  • 相关阅读:
    【javascript】实现类后端增删改功能(附源码)
    Serverless 时代下微服务应用全托管解决方案
    StarkNet新手指南
    多体验DeFi项目,做个真正的DeFi玩家 2021-04-23
    COLMAP中将旋转矩阵转为四元数的实现
    聚焦创新丨赛宁网安亮相2022未来网络发展大会成果展
    【数据结构】二叉树---AVL树的实现
    03黑马店评-添加商户缓存和商户类型的缓存到Redis
    String和stringbuffer和stringbuilder
    ScheduledThreadPoolExecutor 类
  • 原文地址:https://blog.csdn.net/gschen_cn/article/details/126258546