我正在研究文本分类问题。我的 CSV 文件包含一个名为“描述”的列,用于描述事件。不幸的是,该列除了英文单词之外还充满了特殊字符。有时,一行中的整个字段都充满了此类字符,或者,有时,很少有单词具有此类特殊字符,其余的都是英文单词。我向您展示了两个不同行的两个样本字段:
हर वर्ष की तरह इस वर्ष भी सिंधु सेना द्वारा आयोजित सिंधी प्रीमियर लीग फुटबॉल टूर्नामेंट का आयोजन एमबीएम ग्राउंड में करने जा रही है जिसमें अंडर-19 टीमें भाग लेती है आप सभी से निवेदन है समाज के युवाओं को प्रोत्साहन करने अवश्य पधारें
Unwind on the strums of Guitar & immerse your soul into the magical vibes of music! ️? ️?..Guitar Night By Ashmik Patil.July 19, 2018.Thursday.9 PM Onwards.*Cover charges applicable...#GuitarNight #MusicalNight #MagicalMusic #MusicLove #Party #Enjoy #TheBarTerminal #Mumbaikars #Mumbai
在第一种情况下,整个字段都充满了此类不可读的字符,而在第二种情况下,只出现了很少的此类字符。其余都是英文单词。
我只想删除那些特殊字符,保持英语单词不变,因为我需要这些英语单词在稍后阶段形成一袋单词。
如何使用 Python 实现这一点(我使用的是 jupyter 笔记本)?
最佳答案
您可以使用regex来做到这一点。假设您已经能够从 CSV 文件中取出文本 -
#python 2.7
import re
text = "Something with special characters á┬ñ┬╡├á┬ñ┬░├á┬Ñ┬ì├á┬ñ┬╖"
cleaned_text = re.sub(r'[^\x00-\x7f]+','', text)
print cleaned_text
Output - Something with special characters
要了解所使用的正则表达式,refer here .
关于python - 文本预处理+Python+CSV : Removing special characters from a column of a CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52479311/