2012-07-22 64 views
9

我處理使用功能row_valuescol_values Excel文件:如何檢測使用xlrd庫讀取Excel文件時單元是否爲空?

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) 

例如,我得到col_values的列表。如果我遇到某列中的空單元格會怎麼樣?例如一個單元格(1,1)不是空的,一個單元格(1,2)是空的而一個單元格(1,3)不是空的?如何檢測單元(1,2)是否爲空?

這是真的,我得到一個空字符串列表作爲空單元格的值(對於大多數知名程序生成Excel文件)?

回答

15

您可以明確指出並檢查sheet.cell_type(rowno, colno) in (xlrd.XL_CELL_EMPTY, xlrd.XL_CELL_BLANK),但文檔狀態值將爲u'',無論如何這些情況都是如此。

而不是使用row_values的,你也可以使用row(n)它返回具有.value.cell_type屬性Cell對象的列表。

相關問題