Я знаю bytes()
в Python 3.7, который принимает до 3 аргументов, однако я использую Python 2.7, я пытаюсь считать n-грамм после очистки текста, проблема в том, что функция bytes
, но она дает мнеследующая ошибка.
Я пытался закодировать его, используя encode("utf-8")
, но это не решило проблему, я также пытался оставить его только с «контентом», но он вылетает, как только попадает в странный символ (т.е.Латинские символы или математические символы).
from urllib import urlopen
from bs4 import BeautifulSoup
import re,string
def cleanInput(input):
input=re.sub('\n+'," ",input)
input=re.sub("\[[0-9]*\]","",input)
input=re.sub(" +"," ",input)
input=bytes(input).encode("utf-8")
input=input.decode("ascii","ignore")
cleanInput=[]
input=input.split(" ")
for item in input:
item.strip(string.punctuation)
if len(item)>1 or item.lower()=='i' or item.lower()=="a":
cleanInput.append(item)
return cleanInput
Я ожидаю заменить команду bytes(content,"utf-8")
на строку, которая делает то же самое, вот ошибка, которую я получаю UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 90: ordinal not in range(128)