我是python的新手,我正在尝试读取一个.xls文件并查看每行的第一列,看看它是否与我的变量匹配。我不确定我做错了什么,希望有人能帮我。我的最终目标是在第一列中找到以该变量开头的每一行,然后删除其余行或将这些行写入另一个文件。以下是我一直在做的工作:
import xlrd
file_location = "C:/Users/Administrator/Desktop/Test.xls"
workbook = xlrd.open_workbook(file_location)
sheet = workbook.sheet_by_index(0)
mid=5348120284087186
for row in range (sheet.nrows):
var1=''+sheet.cell_value(row, 0)
if var1==mid:
for col in range(sheet.ncols):
print sheet.cell_value(row, col)
这就是我一直在尝试的一个测试,看看它是否可以首先找到与ID匹配的行。var1
语法是由一个朋友建议的,用来将cell\u值欺骗成一个字符串。我可以查看xls文件并知道变量在多行中,但这不会产生任何结果。我还尝试了一个更简单的变体,它只检查变量,然后打印第一个单元格的值,但结果仍然没有输出。提前感谢您的帮助
编辑:
正如我所建议的,我将递归调整为我所理解的需要更改为:
for row in range (sheet.nrows):
var1=str(sheet.cell_value(row, 0))
if var1==str(mid):
for col in range(sheet.ncols):
print sheet.cell_value(row, col)
但是,这仍然会导致在测试时没有输出处于空闲状态
你说呢
这意味着
var1
是字符串类型。你知道吗但是,您将它与
mid
进行比较,后者不是字符串类型。因此var1 == mid
将始终计算为false。在比较之前,请确保变量的类型相同。你知道吗此外,用于
var1
的语法是gross。如果您真的想从中得到一个字符串,只需使用var1 = str(sheet.cell_value(row, 0))
。你知道吗解决这类问题的方法有以下几点:
如果你关心超豪华的空间,做
相关问题 更多 >
编程相关推荐