Я использую openpyxl.
- У меня есть базовая таблица ниже.
Я пытаюсь просто получить активное число элементов в определенном столбце, используя len () и фильтр, но все еще не получаю то, что я хотел.
Пример кода:
load_xls_file = open("./sample.xlsx", "r")
wb = load_workbook(load_xls_file)
sheet = wb.get_sheet_by_name("Sheet")
rock = len(sheet['A'])
print '_code : Value of rock from spreadsheet is',rock
print '_code : Values are', filter(None,sheet['A'])
print '_code : Values are', sheet['A']
print '_code : Values of b', len(sheet['B'])
Вывод:
_code : Value of rock from spreadsheet is 30
_code : Values are (<Cell u'Sheet'.A1>, <Cell u'Sheet'.A2>, <Cell u'Sheet'.A3>, <Cell u'Sheet'.A4>, <Cell u'Sheet'.A5>, <Cell u'Sheet'.A6>, <Cell u'Sheet'.A7>, <Cell u'Sheet'.A8>, <Cell u'Sheet'.A9>, <Cell u'Sheet'.A10>, <Cell u'Sheet'.A11>, <Cell u'Sheet'.A12>, <Cell u'Sheet'.A13>, <Cell u'Sheet'.A14>, <Cell u'Sheet'.A15>, <Cell u'Sheet'.A16>, <Cell u'Sheet'.A17>, <Cell u'Sheet'.A18>, <Cell u'Sheet'.A19>, <Cell u'Sheet'.A20>, <Cell u'Sheet'.A21>, <Cell u'Sheet'.A22>, <Cell u'Sheet'.A23>, <Cell u'Sheet'.A24>, <Cell u'Sheet'.A25>, <Cell u'Sheet'.A26>, <Cell u'Sheet'.A27>, <Cell u'Sheet'.A28>, <Cell u'Sheet'.A29>, <Cell u'Sheet'.A30>)
_code : Values are (<Cell u'Sheet'.A1>, <Cell u'Sheet'.A2>, <Cell u'Sheet'.A3>, <Cell u'Sheet'.A4>, <Cell u'Sheet'.A5>, <Cell u'Sheet'.A6>, <Cell u'Sheet'.A7>, <Cell u'Sheet'.A8>, <Cell u'Sheet'.A9>, <Cell u'Sheet'.A10>, <Cell u'Sheet'.A11>, <Cell u'Sheet'.A12>, <Cell u'Sheet'.A13>, <Cell u'Sheet'.A14>, <Cell u'Sheet'.A15>, <Cell u'Sheet'.A16>, <Cell u'Sheet'.A17>, <Cell u'Sheet'.A18>, <Cell u'Sheet'.A19>, <Cell u'Sheet'.A20>, <Cell u'Sheet'.A21>, <Cell u'Sheet'.A22>, <Cell u'Sheet'.A23>, <Cell u'Sheet'.A24>, <Cell u'Sheet'.A25>, <Cell u'Sheet'.A26>, <Cell u'Sheet'.A27>, <Cell u'Sheet'.A28>, <Cell u'Sheet'.A29>, <Cell u'Sheet'.A30>)
_code : Values of b 30
Ни len (), ни фильтр не предоставляют ожидаемое значение, т. Е. 7, а печатает максимальное значение 30 все время. Кроме того, даже когда я делаю, len (лист ['B']) все еще дает то же значение 30.
Я делаю какую-то простую ошибку? Пожалуйста, предоставьте ваши комментарии.