Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python浏览excel工作表时,循环不会中断_Python - Fatal编程技术网

使用python浏览excel工作表时,循环不会中断

使用python浏览excel工作表时,循环不会中断,python,Python,我想转到每个excel文件,在特定的工作表中,找到文本“Sen’s slope:”并打破循环找到行和列,然后打印该文本旁边的值 有谁能帮我找出这个密码的错误吗。? 感谢您的帮助 import os from xlrd import open_workbook excelfiles=[] for i in os.listdir(os.getcwd()): if '.xlsm' in i: excelfiles.append(i) cannotfiles=[] slope

我想转到每个excel文件,在特定的工作表中,找到文本“Sen’s slope:”并打破循环找到行和列,然后打印该文本旁边的值

有谁能帮我找出这个密码的错误吗。? 感谢您的帮助

import os
from xlrd import open_workbook

excelfiles=[]
for i in os.listdir(os.getcwd()):
    if '.xlsm' in i:
        excelfiles.append(i)

cannotfiles=[]
slope=[]
for f in excelfiles:
    print f
    wb = open_workbook(f)
    sheet = wb.sheet_by_name('Mann-Kendall trend tests')
    j=0
    for j in range(0,50):
        i=0
        for i in range(0,50):
            print sheet.cell(i,j).value
            if sheet.cell(i,j).value == "Sen's slope:":
                break
    print sheet.cell(i,j+1).value

谢谢

我猜你的问题是在的中有一个的,而中断只会从内部的中断。您可以在一个for循环中移动print函数,这也可以让您检测多次出现的“Sen's slope:”。或者,有很多方法可以打破这两个循环。

我猜你的问题是在
for
中有一个
for
,而这个中断只会打破
for
的内部
。您可以在一个for循环中移动print函数,这也可以让您检测多次出现的“Sen's slope:”。或者,有一系列方法可以中断两个循环。

您指定了中断以仅退出内部for循环 请尝试以下代码:

for j in range(0, 50):
    for i in range(0, 50):
        if "something":
            break
    else:
        continue
    break

您指定了break以仅退出内部for循环 请尝试以下代码:

for j in range(0, 50):
    for i in range(0, 50):
        if "something":
            break
    else:
        continue
    break

您可以在此处放置两个
if
语句,一个用于断开内部循环,另一个用于断开外部循环:


当您中断内部循环时,
j
的值将与上次迭代的值相同,然后,控制流将转到最后一行,即内部
for
循环之后的一行,并将计算第二个
if
语句以中断外部循环。

您可以在此处放置两个
if
语句,一个用于中断内部循环,另一个用于中断外部循环:



当您中断内部循环时,
j
的值将与上一次迭代的值相同,然后控制流将转到最后一行,即内部
for
循环之后的那一行,并将计算第二个
if
语句以中断外部循环。

python正在单元格中读取我的字符串(未中断)最后出现错误“数组索引超出范围”。我猜你只是打破了内部循环。这里有两个问题,循环和错误的赋值。在Python中,你不需要像在C或Java中那样为循环声明变量,因此不需要
j=0
i=0
。第二件事,你只打破了内部循环,因此外部循环将继续ue迭代。如果以下答案之一解决了您的问题,您应该接受它(单击相应答案旁边的复选标记)。这可以做两件事。它让所有人都知道您的问题已经得到了满意的解决,并让帮助您的人获得了帮助。有关完整的解释,请参阅。python正在单元格中读取我的字符串(未中断),最后出现了一个错误“数组索引超出范围”。我猜你只是打破了内部循环。这里有两个问题,循环和错误的赋值。在Python中,你不需要像在C或Java中那样为循环声明变量,因此不需要
j=0
i=0
。第二件事,你只打破了内部循环,因此外部循环将继续ue迭代。如果以下答案之一解决了您的问题,您应该接受它(单击相应答案旁边的复选标记)。这有两个作用。它让每个人都知道您的问题已经得到了满意的解决,并让帮助您的人获得了帮助。有关完整的解释,请参阅。我如何打破整个循环?使用exit?但当我打印单元格值时,它实际上会经过该单元格而没有识别它。在您的代码中,它会发现它是一个条目,停止读取该行,然后继续读取下一行。因此它会一直读取到下一行。我如何打破整个循环?使用exit?但当我打印单元格值时,它实际上会通过该单元格而不识别它。在代码中,它会找到条目,停止读取该行,然后继续读取到下一行。因此它会一直读取到下一行。它实际上是通过带有“Sen's slope”的单元格而没有识别出来,并且循环没有中断。@Vijaynitk:您是否将Mani代码示例中的
if
语句更改为
if sheet.cell(i,j)。value==“Sen's slope:
?@Mani Kandan:谢谢。它实际上是通过带有“Sen's slope”的单元格的在没有识别的情况下,循环没有中断。@Vijaynitk:您是否将Mani代码示例中的
if
语句更改为
if sheet.cell(i,j)。value==“Sen's slope:”
?@Mani-Kandan:谢谢。谢谢。工作正常。谢谢。工作正常。