Вы должны иметь возможность перебирать строки и использовать if-else, чтобы определить, является ли линия состоянием или регионом.Кажется, что все состояния имеют тег [edit]
, поэтому любая строка с этим должна быть состоянием, иначе это регион.
Чтобы создать сам фрейм данных, мы можем создать список кортежей спервый элемент - это состояние, а второй - область (после соответствующей очистки текста).Затем передайте список пандам, которые элегантно преобразуют его в фрейм данных.
Потенциальное решение (хотя я не совсем уверен, как выглядит ваш текстовый файл):
data = []
for line in lines:
if '[edit]' in line:
state = line.replace('[edit]', '')
else:
region = line.split(' (')[0]
data.append((state, region))
df = pd.DataFrame(data, columns=['state', 'region'])