增量函数参数变量[Python]

时间:2014-07-23 05:42:22

标签: python excel while-loop nested xlrd

我正在尝试编写一个从Excel文件中读取的脚本作为模板,然后根据从.txt文件中读取的内容插入新数据。

我正在使用xlrd模块进行阅读。目前,我被困在剧本的阅读部分。

我计划每次将rowxcolx参数变量递增1,因此在Excel文件中搜索每个单元格。但是,似乎Python的参数变量无法修改?

我的脚本中的增量改为修改外部变量。有没有办法实现逐个单元格值搜索?

# Define variables
switch1 = 1
count = 0
rowx = 0
colx = 0

# Loop 
while switch1 == 1 and count < totalCells:    
    print "AAAA"

    cellValue = "Long string in here....."

    if sh.cell_value(rowx=0, colx=0) == cellValue:
        print "BBBB"
        switch1 = 0

    rowx    += 1
    colx    += 1    
    count   += 1

1 个答案:

答案 0 :(得分:2)

您没有使用 rowxcolx个变量。你总是传递0:

if sh.cell_value(rowx=0, colx=0) == cellValue:

传递变量的值:

if sh.cell_value(rowx=rowx, colx=colx) == cellValue:

当你在这里时,你可以做一些其他的简化。 rowxcolx始终与count相同,因此您只需使用一个变量。我们可以使用0循环从totalCells-1循环到for,并使用break语句提前结束循环:

for i in xrange(totalCells):
    print "AAAA"
    cellValue = "Long string in here....."
    if sh.cell_value(rowx=i, colx=i) == cellValue:
        print "BBBB"
        break

如果rowxcolx并非总是相同,那么你需要解决这个问题,因为否则你只会沿着主对角线前进。