Мне нужно re.compile, чтобы не останавливаться на пустой ячейке - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть несколько строк кода python, который go просматривает список и удаляет пунктуацию из каждой строки. Здесь код запускается легко и обрабатывает все значения во фрейме данных, пропуская при необходимости

import pandas as pd
import re
data = [['M.B.B.S'], ['M.B.B.S'],[''],['ACNP, DNP'],['ACNP-BC, DNP'],['PA-C']] 
df = pd.DataFrame(data, columns = ['ID']) 
#Text preprocessing, remove punctuation for all IDs
p = re.compile(r'[^\w\s\d]+')
df['ID'] = [p.sub('',x) for x in df['ID'].tolist()]
df

Проблема, с которой я сталкиваюсь, заключается в том, что теперь я хочу использовать файл Excel с тысячами строк. процесс продолжается, но процесс пропускает пустые ячейки, и список сокращается

testing = pd.read_excel(myfile, encoding ='utf8',keep_default_na=False,na_values=['_'])
p = re.compile(r'[^\w\s\d]+')
testing['id'] = [p.sub('',x) for x in testing['id'].tolist()]
testing.to_excel(r'H:\NLP\Cleanfile.xlsx', header=True, index=False)

Если я попробую это сделать с помощью таблицы, созданной самим, это не вызовет проблем

Я пытаюсь заставить этот код работать для файла Excel

...