Tweet-Очистка путем удаления b 'и ASCII - не может найти проблему - PullRequest
1 голос
/ 11 июня 2019

В настоящее время я занимаюсь предварительной обработкой твитов, извлеченных через Twitter API и сохраненных в формате csv. Внутри csv есть несколько символов, таких как " b '" в начале твита и код, похожий на aren \ xe2 \ x80 \ x99t, что означает "' ". Теперь я хочу удалить эти символы, но не знаю как, хотя я пробовал это пару раз. Может кто-нибудь мне помочь? Я прочитал файл с пандами и Python3. Столбец называется " text "

Я имею в виду следующее:

b'RT @username: some text some text C\xe2\x80\xa6' OR

"b'RT @username: some text some text .A\xe2\x80\xa6'

Вход 1:

df = pd.read_csv('Data/test.csv', encoding= 'utf8')

df['text'] = df['text'].str.replace('b[\s]+', ' ')
df['text'] = df['text'].str.replace('[^\x00-\x7F]+',' ')
df['text'] = df['text'].str.replace('[^\u0000-\uD7FF\uE000-\uFFFF]',' ')

Выход 1: ничего не происходит.

В следующем фрагменте я попытался применить кодировку UTF-8. Когда я пишу, это иногда нужно сделать для дальнейшей обработки.

Ввод 2:

df = pd.read_csv('Data/Result_w8_Pfizer_en_test.csv', encoding= 'utf8')
df.apply(lambda x: pd.lib.infer_dtype(x.values))

Выход 2:

AttributeError                            Traceback (most recent call last)
<ipython-input-50-4c6bdb11d736> in <module>
     25 
     26 df = pd.read_csv('Data/test.csv', encoding= 'utf8') # dtype=string
---> 27 df.apply(lambda x: pd.lib.infer_dtype(x.values))
     28 
     29 

~/conda/lib/python3.6/site-packages/pandas/core/frame.py in apply(self, func, axis, broadcast, raw, reduce, result_type, args, **kwds)
   6485                          args=args,
   6486                          kwds=kwds)
-> 6487         return op.get_result()
   6488 
   6489     def applymap(self, func):

~/conda/lib/python3.6/site-packages/pandas/core/apply.py in get_result(self)
    149             return self.apply_raw()
    150 
--> 151         return self.apply_standard()
    152 
    153     def apply_empty_result(self):

~/conda/lib/python3.6/site-packages/pandas/core/apply.py in apply_standard(self)
    255 
    256         # compute the result using the series generator
--> 257         self.apply_series_generator()
    258 
    259         # wrap results

~/conda/lib/python3.6/site-packages/pandas/core/apply.py in apply_series_generator(self)
    284             try:
    285                 for i, v in enumerate(series_gen):
--> 286                     results[i] = self.f(v)
    287                     keys.append(v.name)
    288             except Exception as e:

<ipython-input-50-4c6bdb11d736> in <lambda>(x)
     25 
     26 df = pd.read_csv('Data/test.csv', encoding= 'utf8') 
---> 27 df.apply(lambda x: pd.lib.infer_dtype(x.values))
     28 
     29 

AttributeError: ("module 'pandas' has no attribute 'lib'", 'occurred at index date')

Здесь я провел некоторое исследование, но не смог выяснить проблему или решить ее.

...