2012-07-22 13 views
9

obsłużyć pliki Excel przy użyciu funkcji row_values ​​ i col_values ​​:Jak wykryć, czy komórka jest pusta podczas odczytu plików Excel przy użyciu biblioteki xlrd?

import xlrd 
workbook = xlrd.open_workbook(filename) 
sheet_names = workbook.sheet_names() 
for sheet_name in sheet_names: 
    sheet = workbook.sheet_by_name(sheet_name)  
    # ... 
    row_values = sheet.row_values(rownum) 
    # ... 
    col_values = sheet.col_values(colnum) 

Na przykład dostaję col_values ​​jako Lista. Co się stanie, jeśli spotkam pustą komórkę w kolumnie? Na przykład komórka (1,1) nie jest pusta, komórka (1,2) jest pusta, a komórka (1,3) nie jest pusta? Jak mogę wykryć, że komórka (1,2) jest pusta?

Czy to prawda, że ​​otrzymuję listę z pustym łańcuchem jako wartością pustej komórki (w przypadku najbardziej znanych programów generujących pliki Excel)?

Odpowiedz

15

Możesz być jednoznaczny i sprawdzić, czy jest to sheet.cell_type(rowno, colno) in (xlrd.XL_CELL_EMPTY, xlrd.XL_CELL_BLANK), ale dokumentacja mówi, że w takim przypadku wartość będzie wynosić u''.

Zamiast row_values, można również użyć row(n) która zwraca listę obiektów, które mają Cell.value i .cell_type atrybuty.

Powiązane problemy