You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel clean()函数的Python等效实现及正则模拟方法问询

Python 实现 Excel CLEAN() 函数的方法

1. Python 有没有直接对应 Excel CLEAN() 的函数?

Python标准库没有专门实现Excel CLEAN()功能的内置函数,但可以通过字符串的translate()方法快速实现等价效果:

def clean_with_translate(text):
    # 创建映射表,移除ASCII 0-31和127的不可打印字符
    control_chars = dict.fromkeys(range(32) + [127])
    return text.translate(control_chars)

2. 用正则表达式模拟 Excel CLEAN()

Excel的CLEAN()函数核心是移除所有ASCII不可打印控制字符(ASCII码0-31、127),用正则可以精准匹配这些字符并替换为空:

import re

def clean_excel(text):
    # 匹配所有ASCII不可打印控制字符
    return re.sub(r'[\x00-\x1F\x7F]', '', text)

说明:

  • \x00-\x1F 覆盖了ASCII码0到31的所有控制字符(比如换行符\n、制表符\t、退格符\b等)
  • \x7F 对应ASCII的DEL删除字符
  • 调用re.sub()将匹配到的字符全部替换为空,即可得到和Excel CLEAN()处理后一致的结果。

测试示例:

# 包含不可打印字符的测试文本
sample_text = "Test\x0BText\x1EMessage\x7F"
print(clean_excel(sample_text))  # 输出: TestTextMessage

内容的提问来源于stack exchange,提问作者Brian Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 20:01:22