без без регулярок и pandas
Текст структурирован, так что вот:
stroke = "A[1]=[1765540,14,2799,4790,'Ts','MSC','2019,8,7,21,00,00',-1,3,2,1,2,1,1,1,2,'20','13','','',82,'','',8,0];A[2]=[1706041,83,4134,19230,'3DF','rSC','2019,8,7,21,00,00',-1,3,1,2,0,0,0,0,0,'14','8','','',66,'','',0,0];"
list_of_arrays = stroke.split(';') # делим записи по ;
for i in list_of_arrays:
# если вдруг пустой элемент списка
if not i:
continue
# делим каждую запись на 2 части, A[1] и все остальное
head, body = i.split('=')
# вторая часть, удаляем символы [], и сразу делим на элементы по ,
body = body.replace('[', '').replace(']', '').split(',')
# проходим по всем элементам тела
for num, val in enumerate(body):
# удаляем символы '
body[num] = val.replace("'", '')
try:
# пробуем привести к числу
body[num] = int(body[num])
except ValueError:
# значит строка
pass
# делим A[1] по символу [, берем вторую часть и удаляем там ]
head_number = head.split('[')[1].replace(']', '')
head = head.split('[')[0]
print(f'head: {head}\nhead_num: {head_number}\nbody:{body}\n')
есть допущения.
1. Всегда имеется индекс у заголовка: A[1]
2. Числа всегда целые. С плавающей точкой приведутся к целому