2011-06-02 68 views
0

Python新手在這裏。 我有一個有5000行和1列的excel文件。 我正在將它們導入到Python中,然後將使用if ... else 語句來檢查特定條件。使用帶有unicode值的len()函數

所以,我的數據是這樣的:(在Excel)

Kansas 
Colorado 
Missouri 
Iowa 
New York 
New Mexico 
mycar 
car 
thisisacar 
... 

這裏有是將其導入到Python和條件 語句代碼。

import xlrd 
wb = xlrd.open_workbook("file.xls") 

wb.sheet_names() 
sh = wb.sheet_by_index(0) 

for item in sh.col(0): 
    value = unicode(item.value) 
    if value.startswith("car"): 
     print value 
     if len(value) == 3: 
      print value 

的想法是與「汽車」打印一切,然後打印 值時,它只有3。

if len(value) == 3的長度似乎並沒有工作。幫幫我!

+1

還等什麼*不*它包含哪些內容? – 2011-06-02 02:55:10

回答

4

len(value)應該很好地工作 - 我認爲可能有一些尾隨空白或相似,因此嘗試使用len(value.strip()),看看是否能解決你的問題:)

0

您的代碼不會對mycarthisisacar工作。

也許你應該嘗試類似:

x = (value.strip() for value in sh.col(0) if 'car' in value) 
for i in x: 
    print i 
    if len(i) == 3: 
     print i