I have some sort of generic index imported with
f = open(indexfile, "r")
and the resulting object is a _io.TextIOWrapper that looks like this:
GROUP_FIELD_NAME:ID
GROUP_FIELD_VALUE:1
GROUP_FIELD_NAME:NAME
GROUP_FIELD_VALUE:Joe
GROUP_OFFSET:0
GROUP_LENGTH:1234
GROUP_FILENAME:/tmp/something1
GROUP_FIELD_NAME:ID
GROUP_FIELD_VALUE:2
GROUP_FIELD_NAME:NAME
GROUP_FIELD_VALUE:Jenny
GROUP_OFFSET:1235
GROUP_LENGTH:12
GROUP_FILENAME:/tmp/something2
Where some data fields can be extracted by combining a correspongning _NAME and _VALUE, and some fields just require looking at the name (_OFFSET, _LENGTH, _FILENAME). E.g by looping through each line and populating lists, something like this:
Import pandas as pd
ID = []
NAME = []
GROUP_LENGTH = []
GROUP_OFFSET = []
GROUP_FILENAME = []
for line in file:
if GROUP_OFFSET then add to list
if GROUP_FIELD_NAME:ID then add GROUP_FIELD_VALUE from next line
a = {'ID': ID,
'NAME': NAME,
'GROUP_LENGTH': GROUP_LENGTH,
'GROUP_OFFSET': GROUP_OFFSET,
'GROUP_FILENAME': GROUP_FILENAME
}
df = pd.DataFrame.from_dict(a, orient='index')
df = df.transpose()
How can I get to something like this:
ID NAME GROUP_LENGTH GROUP_OFFSET GROUP_FILENAME
1 Joe 1234 0 /tmp/something1
2 Jenny 12 1235 /tmp/something2