#python #python_3x #pandas #dataframe
В папке all_file лежит 200 текстовых файлов, где каждый состоит из 1 строчки текста содержащего html-теги. Код создания data frame: dir_input='/data/home/maksim.ilin/data/all_file/*.txt' files=glob.glob(dir_input) df=pd.concat([pd.read_csv(f,header=None,sep='\t') for f in files],ignore_index=True) В результате соединения получается одновекторный data frame info:RangeIndex: 200 entries, 0 to 199 Data columns (total 1 columns): 0 200 non-null object dtypes: object(1) memory usage: 1.6+ KB Data frame выглядит вот так : Удаление тегов: df[0]=df[0].astype(str) texts=[] for a in df.iterrows(): texts.append(BeautifulSoup(a['description']).text) В итоге ошибка: ---> 22 texts.append(BeautifulSoup(a['description']).text) TypeError: tuple indices must be integers or slices, not str Пример строчки из файла: Приглашается Бренд-менеджер в известную компанию (сеть магазинов бытовой, видео, аудио-техники).
Требования:
Мужчина/женщина,
25-40 лет,
образование высшее (желательно маркетинг),
с опытом работы от 3 лет на позиции бренд-менеджера (в компании, занимающейся бытовой техникой или в очень крупной компании).
Обязательно хороший уровень английского (устный и письменный),
сильные навыки управления проектами.
Сильные презентационные навыки.
ПК: MS Office, Power Point – обязательно.Обязанности:
продвижение бренда компании,
маркетинговые исследования,
вывод собственных брендов на рынок,
имиджевая реклама.Условия:
Преобразование в текст есть, получается не преобразует. Как правильно? И примет ли BeautifulSoup в такой форме данные?
Офис в центре.
Возможны командировки.
Ответы
Ответ 1
Чтобы заменить все невложенные теги на пробелы в столбце 0: df[0] = df[0].str.replace(r'\<[^\>]*\>', ' ') Результат для приведенной в качестве примера строки: In [87]: df[0].str.replace(r'\<[^\>]*\>', ' ').values[0] Out[87]: ' Приглашается Бренд-менеджер в известную компанию (сеть магазинов бытовой, видео, аудио-техники). Требования: Мужчина/женщина, 25-40 лет , образование высшее (желательно маркетинг), с опытом работы от 3 лет на позиции бренд-менеджера (в компании, занимающейся бытовой техникой или в о чень крупной компании). Обязательно хороший уровень английского (устный и письменный), сильные навыки управления проектами. Сильные презентационны е навыки. ПК: MS Office, Power Point – обязательно. Обязанности: продвижение бренда компании, маркетинговые исследования, вывод собственных бре ндов на рынок, имиджевая реклама. Условия: Офис в центре. Возможны командировки. '
Комментариев нет:
Отправить комментарий