前言
本文主要介绍通过python实现数据清洗、脚本开发、办公自动化。读取voc数据,存储新清洗后的voc数据数据。
一、业务逻辑
- 读取voc数据采集的数据
- 批处理,使用jieba进行分词,去除停用词,清洗后的评论存储到新的列中
- 保存清洗后的数据到新的Excel文件中
二、具体产出
三、执行脚本
python clean.py
四、脚本
# voc数据清洗
import pandas as pd
import jieba
import jieba.posseg as pseg
from collections import Counter
import re
fileName = "100070291457" # sku
# 加载停用词
with open('stopwordsfull', 'r', encoding='utf-8',errors='replace') as f:
stopwords = [line.strip() for line in f.readlines()]
# 加载自定义词典
jieba.load_userdict("luyouqi.txt") # luyouqi.txt is your custom dictionary
# 读取Excel文件中的所有表格
xls = pd.ExcelFile('file/'+fileName+'.xlsx')
sheet_names = xls.sheet_names # 获取所有sheet名称
# 创建一个新的Dataframe存储清洗后的数据
cleaned_data = pd.DataFrame()
for sheet_name in sheet_names:
# 读取每个sheet的数据
df = pd.read_excel(xls, sheet_name)
# 创建新的列存储清洗后的评论
df['cleaned_comments'] = ''
for i, row in df.iterrows():
comment = str(row['content'])
# 使用jieba进行分词和词性标注,只保留名词且不在停用词表里的词
comment = re.sub(r'[^\w\s\u4e00-\u9fa5]', '', comment) # 移除标点符号
# 使用jieba进行分词
segs = jieba.lcut(comment)
# 去除停用词
segs = [seg for seg in segs if seg not in stopwords and len(seg)>1]
# 将清洗后的评论存储到新的列中
df.at[i, 'cleaned_comments'] = ' '.join(segs)
# 将清洗后的数据添加到新的Dataframe中
cleaned_data = cleaned_data._append(df, ignore_index=True)
# 保存清洗后的数据到新的Excel文件中
cleaned_data.to_excel('clean/cleaned_voc'+fileName+'.xlsx', index=False)
五、关键文件
luyouqi.text 分词字典(片段)
2.4G
2.5G口
软路由
2.5G
WiFi
WiFi5
WiFi6
WiFi4
stopwordsfull 停用词(片段)
客户
层面
菜鸟
滑丝
换货
三思
固记
厂商
吸引力
体会