最近学习python网络数据获取,看到了关于数据的清洗,觉得很好用,现贴出代码,权当记录。
# Python 数据清洗
#cleanInput() 功能:
#输入input,
#清除input中的'n', 多余空格,文献标记[ ], 删除单个字符(除i/a 外),转化为utf-8编码格式以消除转义字符,
#输出2-grams列表 ngrams
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
import string
def cleanInput(input):
input = re.sub('n'," ",input)
input = re.sub('[[0-9]*]',"",input)
input = re.sub(' +'," ",input)
input = bytes(input,'UTF-8')
input = input.decode("ascii", "ignore")
cleanInput = []
input = input.split(' ')
for item in input:
item = item.strip(string.punctuation) #删除标点符号
if len(item)>1 or (item.lower() == 'a' or item.lower()=='i'):
cleanInput.append(item)
return cleanInput
def ngrams(input,n):
input = cleanInput(input)
output = []
for i in range(len(input)-n+1):
output.append(input[i:i+n])
return output