在写论文、整理文献列表、导出参考文献的时候,经常会遇到各种乱七八糟的问题:
多余空格、全角半角符号混乱、多余标点、换行、无效字符、作者名格式不统一……
手工一条条改,几十条上百条文献非常浪费时间。
这类事情很适合交给 Python。
一、功能说明
本脚本可以批量处理参考文献,实现:
去除首尾空格、空行
去除多余连续空格
清理特殊符号、乱码字符
统一标点为半角格式
统一作者、年份、标题等常见结构的整洁度
批量输出干净、标准的参考文献文本
二、完整代码(直接复制运行)
import re
def clean_reference(text):
"""
单条参考文献清洗
"""
# 1. 去除首尾空白
text = text.strip()
# 2. 替换换行、制表符
text = re.sub(r'[\n\r\t]', ' ', text)# 3. 多个空格变一个空格
text = re.sub(r'\s+', ' ', text)# 4. 全角符号转半角
full2half = {' ': ' ',',': ',','。': '.','(': '(',')': ')',':': ':',';': ';','?': '?','!': '!','—': '-'
}
for full, half in full2half.items():text = text.replace(full, half)# 5. 清理无效特殊字符(可根据需要增删)
text = re.sub(r'[^\w\s\.,:;\-\(\)\[\]]', '', text)# 6. 去除点号多余空格
text = re.sub(r'\s+\.', '.', text)
text = re.sub(r'\s+,', ',', text)return text.strip()
def batch_clean_references(input_list):
"""
批量清洗参考文献列表
"""
return [clean_reference(ref) for ref in input_list]
------------------- 使用示例 -------------------
if name == "main":
# 原始脏数据(可从Excel、文本、复制的文献里粘贴进来)
dirty_references = [
" Zhang, Li ,et al. 2023 人工智能研究进展。 ",
" 王小明,张明.(2024)Python数据清洗方法 ",
"Chen, K., et al.—Machine learning automation. ",
]
# 批量清洗
clean_refs = batch_clean_references(dirty_references)# 输出结果
print("清洗后的参考文献:\n")
for i, ref in enumerate(clean_refs, 1):print(f"{i}. {ref}")
用 Python 清洗参考文献,几十秒能完成过去几小时的工作,无任何环境依赖,适合:
硕博毕业论文
小论文、期刊投稿
文献综述整理
项目申报书参考文献整理
真正实现自动化、标准化、零出错。
