为了处理多个CSV文件的内容,我必须从字符串列表元素中过滤几个字符,尤其是空值。为此,我尝试了几种网络解决方案。其中之一是以下功能:
def removeNull(rawString):
l = filter("\u0000", list(rawString))
newString = ''.join(l)
printUtil.printAll(newString, "\n")
return newString
但是,它总是给我TypeError: 'str' object is not callable
,终止程序。更复杂的解决方案没有给我一个错误,但它们完全没有改变任何东西,空值仍然存在。在
此外,如果我将\u0000
与除None
之外的任何其他值交换(这不会导致任何更改),则会得到相同的错误消息。在
希望有人能帮我解决这个问题,因为我在经历了4到5个小时的尝试和错误之后已经没有了想法。在
感谢您的回答和建议!在
解决问题:
错误消息源于我使用"\u0000"
作为内置过滤器函数的参数。这一特定问题的两个有效解决方案侧重于传递必要的函数:
或者
l = filter(lambda x:ord(x) != 0, list(rawString))
filter
期望第一个参数是一个函数(或者更准确地说是一个callable
)。然后迭代第二个参数,将每个参数传递给函数。如果函数返回类似False的值,则在输出中跳过该值。在你可以试试:
应该工作得更好
让它更透明
^{pr2}$相关问题 更多 >
编程相关推荐