将len()函数与unicode值一起使用

时间:2011-06-02 02:49:59

标签: python

Python新手在这里。 我有一个包含5000行和1列的excel文件。 我将它们导入Python,然后使用if ... else 用于检查特定条件的陈述。

所以我的数据如下:(在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似乎不起作用。帮助!

2 个答案:

答案 0 :(得分:4)

len(value)应该可以正常工作 - 我建议可能会有一些尾随空格或类似内容,所以请尝试使用len(value.strip())并查看是否能解决您的问题:)

答案 1 :(得分: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