我将一列从一个列表转换为一个列表:
subsectors = df['subsectors'].tolist()
我想把这类字符串分开: “买饮料”改为“给我买饮料”
因此,我使用了以下方法之一:
[' '.join(re.findall('[A-Z][^A-Z]*', s)) for s in subsectors]
或
li = re.compile(r'(?<=[a-z])(?=[A-Z])')
strings = [li.sub(' ', subsectors) for string in subsectors]
或
output=[]
for i in subsectors:
output.append(" ".join(re.findall('[A-Z][^A-Z]*', i)))
上述所有人都返回了以下信息:
TypeError:应为字符串或类似字节的对象
我知道findall()需要的是字符串而不是列表,但我在这里迭代返回字符串的列表,为什么会出现这个错误
多谢各位
问题是,给您错误消息“TypeError:expected string或bytes like object”只存在于第二种方法中。 这是因为您将“subsectors”而不是“string”传递给“li.sub”
因此,它应该是:
完整代码:
让我们试试
replace
:输出:
但是,您的问题本质上是不明确的,例如,您应该如何分割
'ElectionInTheUSA'
相关问题 更多 >
编程相关推荐