Я не кодер, но я работаю с pandas в python 3, чтобы изменить программу, написанную кем-то другим, чтобы убрать HTML из столбца в файле CSV. В исходном коде он запрашивал пользовательский ввод для имен столбцов, как в коде внизу, но мой CSV-файл всегда будет иметь одинаковые заголовки столбцов, поэтому я бы предпочел не использовать этот шаг ввода, вместо этого просто включив имя столбца в самой программе.
Я попытался заменить эту строку:
col = input("Enter column name: ")
, которая работает точно так же, как и при вводе имени столбца вручную (вывод нового столбца с HTML очищено), с:
col = df['ColumnName']
и многими другими вариантами, но все, что я пробую, вызывает у меня различные ошибки. Какой синтаксис я должен использовать, чтобы просто заставить его работать непосредственно с именем столбца, а не требовать ручного ввода. Большое спасибо за помощь.
import pandas as pd
import re
import html
def cleanhtml(raw_html):
cleanr = re.compile('<.+?>')
cleantext = re.sub(cleanr, ' ', str(raw_html))
clean = re.sub('\s+',' ',cleantext)
return html.unescape(clean)
file = input("Enter CSV File name (without '.csv' at the end): ")
d = pd.read_csv("%s.csv" % file )
df = pd.DataFrame(d)
col = input("Enter column name: ")
df[col][0:5]
df['clean'] = df[col].apply(cleanhtml)