Я прочитал все два связанных вопроса и попробовал найти решение, но пока не нашел способа справиться с моим вопросом. Пожалуйста, дайте мне знать, если я что-то пропустил. Большое спасибо!
Мои данные, как показано ниже, это строка:
0 [Author(eid='XXXXXXXXXXXXXXXXX'
1 surname='000000'
2 initials='0000'
3 givenname='00000000000'
4 affiliation='XXXXXXXXXXXXXXXXXXXXXXX'
5 documents='44'
6 affiliation_id='00000000'
7 city='XXXXXXXXX'
8 country='United States'
9 areas='MATH (51)')
10 Author(eid='XXXXXXXXXXXXXXXXXX'
11 surname='00000'
12 initials='XXXX'
13 givenname='000000000000000'
14 affiliation='XXXXXXXXXXXXXXXXXXXXXXXXX'
15 documents='41'
16 affiliation_id='XXXXXXXXXX'
17 city='XXXXXXXXXXX'
18 country='United States'.1
19 areas='MEDI (38); SOCI (20); NURS (8)')
Что я хочу сделать, это преобразовать их в кадр данных с именами столбцов в виде: ['eid »,« фамилия »,« инициалы »,« имя »,« принадлежность »,« документы »,« affiliation_id »,« город »,« страна »,« районы »]. Но когда я сохраняю его в фрейме данных, яс трудом сделать ярлыки именами столбцов. Мне интересно, кто-нибудь делал это раньше или есть мысли? Заранее большое спасибо.
[Изменить]: Ответьте на комментарий, я прочитал два других похожих вопроса здесь и попробовал следующее:
import re
result = {'col{0}'.format(i + 1): re.split(r'\s{1,}', x.strip()) for i, x in enumerate(DF_string.splitlines())}
Это дало мне что-то вроде:
{'col1': ['0'], 'col2': ['0', "[Author(eid='XXXXXXX'"], 'col3': ['1', "surname='000000'"], 'col4': ['2', "initials='XXX'"], 'col5': ['3', "givenname='XXX", "000'"], 'col6': ['4', "affiliation='XXX", 'of', "XXX'"], 'col7': ['5', "documents='44'"], 'col8': ['6', "affiliation_id='XXXX'"], 'col9': ['7', "city='XXXXX'"], 'col10': ['8', "country='United", "States'"], 'col11': ['9', "areas='MATH", "(51)')"],
И тогда я попытался:
lines = [re.sub('\s+' , '__' , DF_string.strip() , 1) for line in DF_string.split('\n')]
Что дало мне это:
["0__0 [Author(eid='XXXXXXXXXXXXXXXXXXXXXXXXX'\n1 surname='0000'\n2 initials='XXXXXX'\n3 givenname='XXXXX'\n4 affiliation='XXXXXXXXXXXXXXXXXXXXXXX'\n5 documents='44'\n6 affiliation_id='XXXXXXXXXXXX'\n7 city='XXXXXXXX'\n8 country='United States'\n9 areas='MATH (51)')\n10