开发记录(二)数据预处理¶
1 模块介绍¶
在对关键词进行 合并、首字母大写、词频统计、翻译等一系列处理后,使用词云包与 pyecharts
包来实现关键词词云图的显示。本模块封装在 data_clean.py
文件中。
2 模块设计¶
2.1 设置工作目录¶
# 定义要创建的目录的路径
workpath = "../data/output"
# 判断目录是否存在,如果不存在则创建
if not os.path.exists (workpath):
# 创建目录
os.makedirs (workpath)
2.2 清洗空列¶
读取从 WOS 检索结果导出的 excel 表,删为空值的列,并且将显示错误的内容批量修正
def clean_null(inputFile):
# 读取 xls 文件中的数据
df = pd.read_excel(f'../data/input/{inputFile}')
# 删除所有全为缺失值的列
df = df.dropna(axis=1, how='all')
# 删除只有列名没有数据的列
df = df.loc[:, (df.notnull().sum() > 0)]
# 将 ‐ 和 – 都替换为 -
df = df.replace({'‐ ': '-', '– ': '-'}, regex=True)
# 设置输出的文件名
outputFile = f'{workpath}/wos_cleaned.xlsx'
# 将处理过的数据导出到新的 Excel 文件中
df.to_excel(outputFile, index=False)
return outputFile
2.3 核心数据筛选¶
将论文的相关核心数据(原文标题,期刊,作者关键词,WOS 关键词,摘要,作者地址,机构,引用次数,发表年份,DOI,研究领域等)从中筛选出来,导出成新的文件
def coreDataSelect(inputFile):
# 读取 xlsx 文件中的数据
inputFile = clean_null(inputFile)
df = pd.read_excel(inputFile)
# 筛选出目标表头
df = df.loc[:, ["Article Title", "Source Title", "Author Keywords",
"Keywords Plus", 'Abstract', 'Addresses', 'Affiliations', "Times Cited, All Databases", "Publication Year", 'DOI', 'Research Areas']]
# 将表头进行翻译
df.columns=["原文标题", "期刊", "作者关键词", "WOS 关键词", "摘要", "作者地址", "机构", "引用次数", "发表年份", "DOI", "研究领域"]
outputFile = f'{workpath}/wos_coredata_cleaned.xlsx'
df.to_excel(outputFile, index=False)
return outputFile
3 主文件调用¶
3.1 调用模块¶
在主文件 wos_essay.ipynb
文件中,导入模块,调用核心数据筛选函数
from data_clean import coreDataSelect as data_clean
inputFile1 = 'savedrecs.xls'
outputFile1 = data_clean(inputFile1)
3.2 检查清洗后的数据列¶
df = pd.read_excel(outputFile1)
df.columns
输出结果如下:
Index(['原文标题', '期刊', '作者关键词', 'WOS 关键词', '摘要', '作者地址', '机构', '引用次数', '发表年份',
'DOI', '研究领域'],
dtype='object')
最后更新:
2023-08-16
创建日期: 2023-05-31
作者:
创建日期: 2023-05-31
作者: