Если ваша проблема в том, как разбить входную строку на что-то, что вы можете обработать с помощью своего кода:
import re
content = 'abc,[1,2],abc/er/ty,def,[3,4],def/er/td,ghi,ghi/tr/tp,jkl,[5],jkl/tr/tm,nop,nop/tr/tk'
finalvalue = []
for match in re.finditer(r"(\w+),(\[\d+(?:,\d+)*\],)?([\w/]+)", content):
finalvalue.append((
match.group(1),
None if match.group(2) is None else match.group(2)[1:-2],
match.group(3)
))
print(finalvalue)
Результат:
[('abc', '1,2', 'abc/er/ty'), ('def', '3,4', 'def/er/td'), ('ghi', None, 'ghi/tr/tp'), ('jkl', '5', 'jkl/tr/tm'), ('nop', None, 'nop/tr/tk')]
Примечание: строки больше не сохраняются как строка, но как кортеж, так что вы можете просто немного добавить свой код.