邪修・【在WPS里学Python】丨0.6:range序列、for循环和delete_xl()函数

不说话 ✘
不说话 ✘ Lv.2 潜力创作者KVP

Lv.2潜力创作者

👍学习从什么时候开始都不晚:我要开始学习了

📢

这次我们学习Python正儿八经真正强大的地方:

🔁自动重复执行


📢

在表格中往下拖拽单元格,就能完成自动填充,可以说这是表格中最常用的智能操作了,非常省力不用一格格去写,一次就能处理多行数据。

只需要:

  1. 写第一个公式/数字/文字

  1. 往下拖

  1. 公式/数字一般会按自动递增序列填充, 文字是复制填充

📢

在Python中对应的就是for循环,在学之前我们先简单说下range(),大多数时候,for循环都会配合range使用。


✍️

一、range是什么?

💡 range:整数序列生成器

☝️

range的三种结构

1️⃣ range(开始,结束,步长)

👉完整参数

2️⃣ range(开始,结束)

👉 默认步长=1

3️⃣ range(结束)

👉 默认:开始=0,步长=1

🧠意思就是: 从开始数起步,每次加步长不到结束数就一直走

🧐

用几个例子理解一下:

# 1. 开始,结束,步长;注意结束数是不包含的(左闭右开区间)
range(2,10,2)  # 2 4 6 8

# 2. 开始,结束;默认步长为1
range(2,10)    # 2 3 4 5 6 7 8 9

# 3. 只写结束;注意Python是从0开始的
range(5)       # 0 1 2 3 4

🐍

二、for循环是什么?

👉 for循环:把同一个动作重复执行多次

📌

for循环的结构

for 循环项 in 可迭代对象:
    循环执行的事

# 实际例子
for  i   in   range(6):
    print(i)
# 拆解例子
for      i       in     range(6):
 ↑       ↑       ↑       ↑       
关键字  循环项    关键字   可迭代对象(这里是序列)   

    print(i)
      ↑
    循环要执行的事(这里是打印变量)
😎

表格和Python对比, 从1000生成到1005:


三、for循环的能力更强

for循环比表格这种“拖拽填充”还要更厉害

for循环不仅能循环数字

可以循环字符串

可以循环列表

可以循环DataFrame

可以循环动作

……

✍️ 示例一:循环字符串

for 字 in "我是尊贵的WPS会员。":
    print(字)

✍️ 示例二:循环实现表格批量删行

🔁我们把刚刚生成的行,都删除

import time

for 循环项 in range(2, 6, 1):
    time.sleep(2)
    delete_xl(start_row=循环项, entire_row=True)

😱咦,没有按预想的直接删除刚刚拖拽填充的行数据,😭请大家帮助下作者,看看怎么回事,想想办法。

🥹谢谢你好心人,虽然不知道你是谁,但我知道你肯定有在默默思考提供帮助,甚至还随手点了个赞和收藏,🥳这样的人帅气低调有内涵,美丽大方很优雅,说得就是你,不用再怀疑!

其实这个问题主要是因为

按正常顺序删除表格行时,删除一行后 下方行号会自动上移,导致原本要被删除的行被跳过
例如:
循环中:删除第3行
删除第3行后,原本的第4行,就变成了第3行,
循环中:删除第4行
由于刚刚行号上移了,第4行变第3行,第5行变第4行,所以这里删除了原本的第5行,原本的第4行被跳过“躲过一劫”。
#大家可以点开下方gif动图,仔细观看下,更容易理解

固定起始行循环删除

此时有聪明的小伙伴肯定已经想到了,那么我们只需要删除同一行,再重复这个动作。

import time

for 循环项 in range(6):
    time.sleep(2)
    delete_xl(start_row=2, entire_row=True)

大家可以思考下,有没有什么更好的办法,可以避免行号上移出错的方法?

😏比如我个人一般喜欢倒序删除,这样就不用担心行号上移啦:

import time

for 循环项 in range(6, 1, -1):
    time.sleep(2)
    delete_xl(start_row=循环项, entire_row=True)

👉 for 循环核心工作逻辑:

🔁把可迭代对象里的每一个元素,依次挨个取出来,重复执行循环内部的代码块。

🔥 后面学习办公自动化、数据处理就会发现:

Python 绝大多数自动化任务,底层核心本质全靠 for 循环


🎉 小结 & 成就感

💡 你已经:

• 学会range三种结构

• 学会for循环结构

• 学会循环字符串

• 学会delete_xl()基础用法

• 学会倒序删除(很实用)

学到这里,恭喜你现在已经迈入自动化 ,后续你只需要用循环搞定各类重复动作,慢慢积累,就能从量变实现质的飞跃🚀


📸 学习从什么时候开始都不晚:

我要开始学习了

四川省
浏览 90
2
14
分享
14 +1
7
2 +1
全部评论 7
 
李攀登
李攀登 Lv.3 优质创作者

Lv.3优质创作者

非常喜欢这个系列,在wps中学python,很有趣。
· 河南省
回复
 
亂雲飛渡
给不说话老师点赞
· 广东省
回复
 
一只呆豆包
膜拜大佬
·
回复
 
闵鑫
闵鑫 WPS资深用户Lv.3 优质创作者WPS产品体验官KVP

Lv.3优质创作者

学习
·
回复
 
清华学弟任泽岩
清华学弟任泽岩 Lv.2 潜力创作者

Lv.2潜力创作者

给不说话老师点赞
·
回复
 
㊣
可以每一期后面都布置一份作业,这样可以练习巩固学的内容
· 广东省
回复
 
㊣
首评,催更
·
回复