使用xlrd获取python中excel值的列表

我正在尝试读取Excel表格中列的值列表。 但是,列的长度每次都不一样,所以我不知道列表的长度。 我如何让Python读取列中的所有值,并停止使用xlrd单元格为空时?

for i in range(worksheet.nrows): 

将遍历工作表中的所有行

例如,如果您对第0列感兴趣

 c0 = [worksheet.row_values(i)[0] for i in range(worksheet.nrows) if worksheet.row_values(i)[0]] 

或者甚至更好地使这个发电机

 column_generator = (worksheet.row_values(i)[0] for i in range(worksheet.nrows)) 

那么你可以使用itertools.take进行懒惰的评估…当你第一个空的时候会停止…这将提供更好的性能,如果你只是想停下来,一旦你得到你的第一个空值

 from itertools import takewhile print list(takewhile(str.strip,column_generator))