2015-10-26 83 views
-2

enter image description here对象类型'长'没有len()

错误出现在第10行。我不知道如何解决它。 我想迭代一个字符串,直到找到字符“[”

+2

该错误消息是明确的,'valor'是类型'long'的。在进入该循环之前,只需检查'valor'是否是字符串? –

+0

我认为您认为'valor'会出现什么问题 –

+1

请始终将您的代码包含为文本,以便潜在的答复者可以复制并运行它。 –

回答

2

如果您先将valor变量转换为字符串,您应该可以在其上执行这些循环。但是,如果原始值是long,我非常怀疑你会找到一个[字符。

valor = str(sheet.cell(row=rowNum, column=columnNum).value 

有可能是这个代码的一些严重的问题,但没有足够的代码在这里充分诊断问题。

+0

我把完整的代码。这是关于一个excell文件。我想删除两个括号之间的内容:“[]” –

0

我从前编辑过我的帖子。这可能是使用isinstance()的最直接的方法。

if isinstance("apple", str): 
    print "apple is a str" 
if isinstance(40, str): 
    print "40 is a str" 
else: 
    print "40 is not str" 

输出将是:

苹果是STR

40不str的

+0

如何?我不知道该怎么做:( –

相关问题