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

时间:2014-02-04 18:34:07

标签: python excel xlrd xlwt

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

1 个答案:

答案 0 :(得分:3)

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.takewhile进行懒惰的评估...当你得到第一个空的时候会停止...如果你只想在获得第一个空值后停止,这将提供更好的性能

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