簡體   English   中英

文本預處理+ Python + CSV:從CSV列中刪除特殊字符

[英]Text Pre-processing + Python + CSV : Removing special characters from a column of a CSV

我正在研究文本分類問題。 我的CSV文件包含一個名為“description”的列,用於描述事件。 不幸的是,除了英文單詞之外,該專欄還有很多特殊字符。 有時,連續的整個字段都充滿了這樣的字符,或者有時,很少有單詞具有這樣的特殊字符,其余的都是英文單詞。 我向你展示了兩個不同行的兩個標本字段:

हर वर्ष की तरह इस वर्ष भी सिंधु सेना द्वारा आयोजित सिंधी प्रीमियर लीग फुटबॉल टूर्नामेंट का आयोजन एमबीएम ग्राउंड में करने जा रही है जिसमें अंडर-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筆記本)?

您可以使用正則表達式執行此操作。 假設您已經能夠從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 

要了解所使用的正則表達式, 請參閱此處

您可以將字符串編碼為asciiignore錯誤。

>>> text = 'Something with special characters á┬ñ┬╡├á┬ñ┬░├á┬Ñ┬ì├á┬ñ┬╖'
>>> text = text.encode('ascii', 'ignore')

這將為您提供一個二進制對象,您可以再次解碼為utf

>>> text
b'Something with special characters '

>>> text = text.decode('utf')
>>> text
'Something with special characters '

您可以使用pandas將csv文件讀入數據幀。 使用:

import pandas as pd 
df = pd.read_csv(fileName,convertor={COLUMN_NUMBER:func})

其中func是一個函數,它接受一個字符串並刪除特殊字符。 這可以用不同的方式完成,使用正則表達式,但這里是一個簡單的

import string
def func(strg):
    return ''.join(c for c in strg if c in string.printable[:-5])

或者,您可以先讀取數據幀,然后應用於更改描述列。 即。

import pandas as pd 
df = pd.read_csv(fileName)
df['description'] = df['description'].apply(func)

或使用正則表達式

df['description'] = df['description'].str.replace('[^A-Za-z _]','')

string.printable[:-5 ]是字符集'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!“#$%&\\'()* +, - 。/:; <=>?@ [\\ _] ^ _` {|}〜'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM