数据清洗之如何用一行Python代码去掉文本中的各种符号

 更新时间:2022年11月23日 10:31:16   作者:coder1479  
我们在处理文本的时候往往需要对标点符号进行处理,下面这篇文章主要给大家介绍了关于数据清洗之如何用一行Python代码去掉文本中的各种符号的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

前言

在搜集了很多文本语料之后,会开始漫长的数据清洗过程,通常要不断迭代。

1. 问题描述

有些文本数据中,会包含一些特殊符号。

猜想可能是从某些富文本编辑器中直接粘贴到了网页。

如果要清除这些特殊符号,就需要专门的工具。

2. 相关知识

Unicode标准把符号分为四大类,分别是:

缩写详情
[Sc]Symbol, Currency
[Sk]Symbol, Modifier
[Sm]Symbol, Math
[So]Symbol, Other

一般需要清理掉的符号会是So类型的,但还是要根据自己的数据情况具体分析

3. 解决方案

在数据清洗过程中遇到的符号可能包括:杂项符号、几何形状、箭头、心形、星形、表情Emoji、货币符号等。

如果以上这些符号都要删除,可以用下面的代码。

text = "".join(ch for ch in text if unicodedata.category(ch)[0]!= 'S')

如果需要单独去除某一类,或者希望知道某个符号所属的具体类别,就需要到这个网站:

https://www.unicode.org/charts/charindex.html

查找对应的符号类型。

以箭头符号为例。

先用Arrow搜索上面的网页,找到纯粹的箭头项Arrows,对应的文档是:https://www.unicode.org/charts/PDF/U2190.pdf

找到自己需要的箭头,并查看对应的名字。

举例:箭头

RIGHTWARDS ARROW,然后用python提供的unicodedata标准库,查找这个符号的类别。

unicodedata.lookup('RIGHTWARDS ARROW')
'→'
unicodedata.category('→')
'Sm'

这样,就知道要查找的箭头符号,属于Sm类别(数学符号)。

举例:黑色方块

BLACK SQUARE ■ U+25A0

unicodedata.lookup('BLACK SQUARE')
'■'
unicodedata.category('■')
'So'

举例:黑色心形

unicodedata.lookup('BLACK HEART SUIT')
'♥'
unicodedata.category('♥')
'So'

举例:黑色星形

unicodedata.lookup('BLACK FOUR POINTED STAR')
'✦'
unicodedata.category('✦')
'So'

如果只需要去除杂项符号,可以用下面的python代码。

text = "".join(ch for ch in text if unicodedata.category(ch) != 'So')

另一个有用的网址:

https://www.fileformat.info/info/unicode/category/index.htm

总结

到此这篇关于数据清洗之如何用一行Python代码去掉文本中的各种符号的文章就介绍到这了,更多相关Python去掉文本各种符号内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于Flask 视图介绍

    关于Flask 视图介绍

    这篇文章主要分享的是关于Flask 视图介绍, Flask 中路由是请求的 url 与处理函数之间的映射,使用app.route装饰器将处理函数和 url 绑定,路由绑定的处理函数就被成为视图函数。下面来看文章的详细内容,需要的朋友也可以参考一下
    2021-11-11
  • 基于SpringBoot构造器注入循环依赖及解决方式

    基于SpringBoot构造器注入循环依赖及解决方式

    这篇文章主要介绍了基于SpringBoot构造器注入循环依赖及解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python实现换位加密算法的示例

    python实现换位加密算法的示例

    今天小编就为大家分享一篇python实现换位加密算法的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python文件选择对话框的操作方法

    python文件选择对话框的操作方法

    这篇文章主要介绍了python文件选择对话框的操作方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • Python Socket多线程并发原理及实现

    Python Socket多线程并发原理及实现

    这篇文章主要介绍了Python Socket多线程并发原理及实现,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • python出现RuntimeError错误问题及解决

    python出现RuntimeError错误问题及解决

    这篇文章主要介绍了python出现RuntimeError错误问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 关于python中@property的使用方法

    关于python中@property的使用方法

    这篇文章主要介绍了关于python中@property的使用方法,@property装饰器会将方法转换为同名的只读属性,它可以与所定义的属性配合使用,需要的朋友可以参考下
    2023-07-07
  • 浅谈python中常用的8种经典数据结构

    浅谈python中常用的8种经典数据结构

    这篇文章主要介绍了python中常用的8种经典数据结构,包括原生数据结构,NumPy包中的数据结构,以及Pandas包中的数据结构,需要的朋友可以参考下
    2023-03-03
  • 基于Python制作一个解压的内存加速球

    基于Python制作一个解压的内存加速球

    安全管家助手什么的上总会带一个内存加速球,有关掉进程以及内存清理的功能,本文就来利用Python制作一个解压的内存加速球,有需要的小伙伴可以参考下
    2023-10-10
  • python十进制转二进制的详解

    python十进制转二进制的详解

    在本篇文章里小编给大家整理了关于python十进制转二进制的相关知识点内容,需要的朋友们可以参考学习下。
    2020-02-02

最新评论