повторяет {и {{

Вы можете изменить индекс, как описано уже с помощью set_index. Вам не нужно вручную менять строки с помощью столбцов, в pandas есть метод transpose (data.T), который делает это для вас:

> df = pd.DataFrame([['ABBOTSFORD', 427000, 448000],
                    ['ABERFELDIE', 534000, 600000]],
                    columns=['Locality', 2005, 2006])

> newdf = df.set_index('Locality').T
> newdf

Locality    ABBOTSFORD  ABERFELDIE
2005        427000      534000
2006        448000      600000

, после чего вы можете получить значения столбца dataframe и преобразовать их в список:

> newdf['ABBOTSFORD'].values.tolist()

[427000, 448000]
0
задан Fábio Dias 1 April 2019 в 23:01
поделиться

1 ответ

Попробуйте следующее регулярное выражение:

(?P<name>[\w-]+?)\s*=\s*{(?:{| {\[})?\s*(?P<content>.*?)(?:,])?\s*}{1,2}

В моем тесте оно соответствует всем 3 вашим образцам.

Рабочий пример (содержащий проверку регулярного выражения выше) см. В https://regex101.com/r/Gy8IWu/1

. конкретные части тестируемого регулярного выражения и то, что было сопоставлено.

Редактировать

Регулярное выражение, соответствующее всем 3 вариантам, согласно вашему комментарию:

(?P<name>[\w-]+?)\s*=\s*{{1,2}\s*(?P<content>(?:{\[})?.*?)\s*}{1,2}

Смотрите обновленный пример: https://regex101.com/r / Gy8IWu / 2

0
ответ дан Valdi_Bo 1 April 2019 в 23:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: