循环语句与分支语句

  • 1、for…in循环语句基础
  • 2、for…in循环语句应用(批量创建工作簿)
  • 3、for…in嵌套循环语句
  • 4、for…in嵌套循环语句应用(制作九九乘法表,写入Excel表格中)
  • 5、while循环语句
  • 6、while循环语句应用(读取工作簿信息到新表)
  • 7、while嵌套循环语句
  • 8、while嵌套循环语句应用(批量创建工作簿、工作表)
  • 9、if条件语句
  • 10、if…else条件语句
  • 11、多条件if语句1(将筛选结果写入新工作簿)
  • 12、多条件if语句2(根据总分判断等级)
  • 13、break语句(跳出整个循环)
  • 14、continue语句(跳出当次循环)
  • 15、综合应用




1、for…in循环语句基础

python单循环读取excel表数据去除表头 python excel 循环_for循环

  • 我们遍历出来的每个元素、每个值,它会放在item这个变量里。
  • 我们从这个集合iterable里面遍历出来的每一个值,都会放在item元素里面,然后对它逐个逐个的进行遍历处理。

python单循环读取excel表数据去除表头 python excel 循环_python_02


python单循环读取excel表数据去除表头 python excel 循环_python_03


python单循环读取excel表数据去除表头 python excel 循环_for循环_04


python单循环读取excel表数据去除表头 python excel 循环_嵌套_05


2、for…in循环语句应用(批量创建工作簿)

python单循环读取excel表数据去除表头 python excel 循环_for循环_06


3、for…in嵌套循环语句

python单循环读取excel表数据去除表头 python excel 循环_嵌套_07


python单循环读取excel表数据去除表头 python excel 循环_for循环_08


python单循环读取excel表数据去除表头 python excel 循环_循环语句_09


python单循环读取excel表数据去除表头 python excel 循环_循环语句_10


python单循环读取excel表数据去除表头 python excel 循环_嵌套_11


python单循环读取excel表数据去除表头 python excel 循环_for循环_12


以此类推。。。。。。

python单循环读取excel表数据去除表头 python excel 循环_嵌套_13


python单循环读取excel表数据去除表头 python excel 循环_循环语句_14


因为print默认结束符是换行符,所以为了使内层循环遍历完后再换行,我们可以写print(),并使其跟外层for循环对齐:

python单循环读取excel表数据去除表头 python excel 循环_python_15


python单循环读取excel表数据去除表头 python excel 循环_python_16


4、for…in嵌套循环语句应用(制作九九乘法表,写入Excel表格中)

python单循环读取excel表数据去除表头 python excel 循环_for循环_17


python单循环读取excel表数据去除表头 python excel 循环_python_18


python单循环读取excel表数据去除表头 python excel 循环_嵌套_19


python单循环读取excel表数据去除表头 python excel 循环_循环语句_20


python单循环读取excel表数据去除表头 python excel 循环_for循环_21


python单循环读取excel表数据去除表头 python excel 循环_嵌套_22


5、while循环语句

python单循环读取excel表数据去除表头 python excel 循环_嵌套_23


python单循环读取excel表数据去除表头 python excel 循环_嵌套_24


6、while循环语句应用(读取工作簿信息到新表)

python单循环读取excel表数据去除表头 python excel 循环_python_25


python单循环读取excel表数据去除表头 python excel 循环_循环语句_26


python单循环读取excel表数据去除表头 python excel 循环_循环语句_27


python单循环读取excel表数据去除表头 python excel 循环_循环语句_28


python单循环读取excel表数据去除表头 python excel 循环_嵌套_29


python单循环读取excel表数据去除表头 python excel 循环_python_30


python单循环读取excel表数据去除表头 python excel 循环_循环语句_31


python单循环读取excel表数据去除表头 python excel 循环_循环语句_32


python单循环读取excel表数据去除表头 python excel 循环_循环语句_33


python单循环读取excel表数据去除表头 python excel 循环_for循环_34


python单循环读取excel表数据去除表头 python excel 循环_循环语句_35


python单循环读取excel表数据去除表头 python excel 循环_for循环_36


python单循环读取excel表数据去除表头 python excel 循环_python_37


python单循环读取excel表数据去除表头 python excel 循环_for循环_38


python单循环读取excel表数据去除表头 python excel 循环_嵌套_39


python单循环读取excel表数据去除表头 python excel 循环_循环语句_40


7、while嵌套循环语句

python单循环读取excel表数据去除表头 python excel 循环_python_41


python单循环读取excel表数据去除表头 python excel 循环_嵌套_42


python单循环读取excel表数据去除表头 python excel 循环_嵌套_43

  • 通过调试寻找问题原因:

python单循环读取excel表数据去除表头 python excel 循环_for循环_44


python单循环读取excel表数据去除表头 python excel 循环_python_45


python单循环读取excel表数据去除表头 python excel 循环_for循环_46


python单循环读取excel表数据去除表头 python excel 循环_for循环_47


问题就是我希望的是,内层循环每次开始的时候,y的值是从0开始,而不是向上面所示的那样,y的值也跟着一直累计着;也就是,凡是我从外层循环进入到内层循环的时候,它的y值都应该重置成0,从0开始。

所以,当内层循环结束之后,要跳到外层循环的时候,就可以将y值重置成0。

  • while嵌套循环跟for嵌套循环不一样,内层for循环结束后,进入外层for循环,然后再进入内层for循环的时候,内层for循环的那个控制变量会自动被重置为初值。

python单循环读取excel表数据去除表头 python excel 循环_嵌套_48


python单循环读取excel表数据去除表头 python excel 循环_循环语句_49


8、while嵌套循环语句应用(批量创建工作簿、工作表)

python单循环读取excel表数据去除表头 python excel 循环_python_50


刚开始,你首先要知道把最基础的东西先建立起来,就是我们怎么样先把工作簿、工作表做好,然后再到它的外层去包裹循环语句,对我们初学者来说这样会更容易一些。

python单循环读取excel表数据去除表头 python excel 循环_for循环_51

  • 然后我们先来通过循环创建所要求的这几个工作簿,每个工作簿里面先只有一个工作表:




  • 我们通过调试来找问题。

    当调试运行到m的值为13的时候,此时已经不小于条件12了,就跳出了while内层循环。

    这个时候你就会发现一个新的问题,由于m还是13,内层循环的条件表达式不成立,跳过内层循环去执行后面的保存,保存的时候就出问题了,F8单步就进入到:

    问题就是,前面我们说过一个工作簿里面必须要有一个工作表,刚才创建了2016年工作簿的时候,但是由于m为13导致内层循环没有执行,没有运行创建工作表的内层循环循环体,没有创建工作表,这个工作簿没有工作表,你又在后面保存这个工作簿,就会出问题。
    所以要在外层循环里面添加一个重置m的语句,让m重新从1开始。

python单循环读取excel表数据去除表头 python excel 循环_for循环_52


python单循环读取excel表数据去除表头 python excel 循环_python_53


其实这种批量创建工作簿、工作表,用for循环指定年份和月份的范围很方便,也不需要考虑将内层循环的控制变量还原成初始化的样子,也不需要做控制变量的累加,for循环会自动累加控制变量。

9、if条件语句

python单循环读取excel表数据去除表头 python excel 循环_python_54


python单循环读取excel表数据去除表头 python excel 循环_for循环_55


python单循环读取excel表数据去除表头 python excel 循环_for循环_56


python单循环读取excel表数据去除表头 python excel 循环_for循环_57


我们前面说过,这个input接收到的数据默认是字符串类型,所以我们需要用int函数来对这个变量进行转换,由原来的字符串类型的数字转换成真正的整数类型。

python单循环读取excel表数据去除表头 python excel 循环_嵌套_58


通过调试也能看到input获得的是字符串类型,然后我们把它转换成整数类型:

python单循环读取excel表数据去除表头 python excel 循环_python_59


python单循环读取excel表数据去除表头 python excel 循环_for循环_60


另外,除了单独用一个语句进行转换以外,既可以直接将input获取的内容进行整数类型转换,也可以在if条件比较之前对这个变量score进行转换:

python单循环读取excel表数据去除表头 python excel 循环_for循环_61


10、if…else条件语句

python单循环读取excel表数据去除表头 python excel 循环_for循环_62


python单循环读取excel表数据去除表头 python excel 循环_嵌套_63


11、多条件if语句1(将筛选结果写入新工作簿)

python单循环读取excel表数据去除表头 python excel 循环_python_64


python单循环读取excel表数据去除表头 python excel 循环_python_65


python单循环读取excel表数据去除表头 python excel 循环_循环语句_66

python单循环读取excel表数据去除表头 python excel 循环_嵌套_67


python单循环读取excel表数据去除表头 python excel 循环_嵌套_68


python单循环读取excel表数据去除表头 python excel 循环_嵌套_69


这里要注意,当if条件成立的时候,需要有一个累加值变量m用来方便的定位写入新簿新表中的行号,把m作为我们要写入的单元格的行号。

python单循环读取excel表数据去除表头 python excel 循环_for循环_70


python单循环读取excel表数据去除表头 python excel 循环_for循环_71


12、多条件if语句2(根据总分判断等级)

python单循环读取excel表数据去除表头 python excel 循环_嵌套_72


注意:下面的实例,是在原来的数据源上修改,而不是将数据写入一个新工作簿里面。

python单循环读取excel表数据去除表头 python excel 循环_嵌套_73


python单循环读取excel表数据去除表头 python excel 循环_嵌套_74

python单循环读取excel表数据去除表头 python excel 循环_嵌套_75

python单循环读取excel表数据去除表头 python excel 循环_python_76


python单循环读取excel表数据去除表头 python excel 循环_for循环_77


python单循环读取excel表数据去除表头 python excel 循环_嵌套_78

python单循环读取excel表数据去除表头 python excel 循环_嵌套_79


python单循环读取excel表数据去除表头 python excel 循环_循环语句_80


13、break语句(跳出整个循环)

python单循环读取excel表数据去除表头 python excel 循环_for循环_81


python单循环读取excel表数据去除表头 python excel 循环_嵌套_82


python单循环读取excel表数据去除表头 python excel 循环_嵌套_83


python单循环读取excel表数据去除表头 python excel 循环_循环语句_84

  • break只是跳出这个语句所在的循环语句,并不是跳出所有的循环语句。

python单循环读取excel表数据去除表头 python excel 循环_嵌套_85


python单循环读取excel表数据去除表头 python excel 循环_for循环_86

  • 看上图,我们想在连续几行print语句中间插入一条break语句,结果发现不能插入,没有break语句的智能提示,因为它就是专门针对虚幻语句来做的。

python单循环读取excel表数据去除表头 python excel 循环_循环语句_87


14、continue语句(跳出当次循环)

python单循环读取excel表数据去除表头 python excel 循环_python_88


python单循环读取excel表数据去除表头 python excel 循环_python_89


15、综合应用

python单循环读取excel表数据去除表头 python excel 循环_嵌套_90


python单循环读取excel表数据去除表头 python excel 循环_python_91


python单循环读取excel表数据去除表头 python excel 循环_嵌套_92


python单循环读取excel表数据去除表头 python excel 循环_循环语句_93


python单循环读取excel表数据去除表头 python excel 循环_for循环_94


python单循环读取excel表数据去除表头 python excel 循环_for循环_95

  • 要求统计出每位员工第一次达标的业绩所对应的月份,每位员工从1月到12月的累计业绩突破1000的月份,那个月份他的业绩是多少,他的姓名是什么。


    如上图所示,就是到9月份刚好到1000了,到9月份是1097就开始达标了;就要逐个逐个的累加,当累加到了1000以后,我们就对应去选择对应的月份,以及他对应的是哪一个人。
    其实,最核心的技术是,我怎样知道是哪个月份大于等于1000呢?

python单循环读取excel表数据去除表头 python excel 循环_嵌套_96


此时我们先不忙着复制我们这个工作簿,因为我们读取到这个工作表Sheet1之后,我就对这个工作表里面的数据读取出来进行循环。

python单循环读取excel表数据去除表头 python excel 循环_python_97


python单循环读取excel表数据去除表头 python excel 循环_嵌套_98


这样就可以把每一行的数据都遍历出来了。

python单循环读取excel表数据去除表头 python excel 循环_for循环_99


python单循环读取excel表数据去除表头 python excel 循环_循环语句_100


python单循环读取excel表数据去除表头 python excel 循环_for循环_101


python单循环读取excel表数据去除表头 python excel 循环_循环语句_102


python单循环读取excel表数据去除表头 python excel 循环_循环语句_103


结果我们发现写入的内容不正确,怎么回事呢?因为我们得到>=1000的累计值后,程序仍然继续往后累计,累积的值仍然大于1000,所以就会循环着每次都写入统计结果表中,一直累计到12月。

我们只需要第一次达标的时候就可以了,后面的就不需要再循环了。

python单循环读取excel表数据去除表头 python excel 循环_嵌套_104


python单循环读取excel表数据去除表头 python excel 循环_循环语句_105


通过调试发现,我们找到第一个达标的9月份之后,内层循环仍然在继续循环、继续累计值,我们要在累积的值第一次大于等于1000的时候,在将对应的姓名、月份、业绩值写入单元格之后,加一个break,没必要让它再运行了,让内层循环跳出,继续执行下一行。

python单循环读取excel表数据去除表头 python excel 循环_for循环_106


python单循环读取excel表数据去除表头 python excel 循环_for循环_107