У меня есть несколько записей:
records=['Event: Description of some sort of event, sometimes with a: colon 0 Date: 02/05/2008 Time: 9:30 am Location: Room A Result: Description of result 0',
'Event: Description of event 1 ',
'Event: Description of some sort of event 2 Date: 06/03/2010 Time: 1:30 pm Location: Room b Result: Description of result 2',
'Date: 06/03/2010 Time: 2:30 pm Event: Description of some sort of event 2 Result: Description of result 2 Location: Room b',
'Date: 06/03/2010 Result: Description of result 3']
Я (в конце концов) хочу включить их в кадр данных панд, но я даже не могу понять, как разобрать их в полезный список или диктовку.то, что я делаю, это:
import re
import pandas as pd
delimeters = ['Event:', 'Date:', 'Time:','Location:', 'Result:']
delimeters = '|'.join(delimeters)
print('without parentheses, I lose my delimeters:')
for record in records:
print(re.split(delimeters, record))
Мне любопытно, почему это создает пустой элемент в начале каждого списка.Но что более важно, я хочу сохранить разделители.
Я видел примеры использования скобок вокруг одного разделителя для сохранения его в списке разделенных строк, но это приводит к странным результатам с составным списком возможных разделителей.Я не понимаю, например, почему при добавлении скобок получается Nones - хотелось бы это понять!
print('With parentheses things get wierd:')
delimeters = ['(Event:)', '(Date:)', '(Time:)','(Location:)', '(Result:)']
delimeters = '|'.join(delimeters)
for record in records:
print(re.split(delimeters, record))
В идеале, я бы извлек следующую информацию в качестве результата разбора записи:
{'Event': ['Description of some sort of event, sometimes with a: colon'],
'Date': ['02/05/2008'],
'Time': ['1:30 pm'],
'Location': ['Room b'],
'Result': ['Some description of the result, sometimes with a : colon']} # etc
Это дало бы мне возможность перейти непосредственно к фрейму данных:
pd.DataFrame({'Event': ['Description of some sort of event, sometimes with a: colon'],
'Date': ['02/05/2008'],
'Time': ['1:30 pm'],
'Location': ['Room b'],
'Result': ['Some description of the result, sometimes with a : colon']}
)
Любые указатели или помощь на любом этапе очень ценится.