Вы можете использовать регулярное выражение для поиска шаблона:
import re
s = 'G:1{l:3:"cat";v:30;l:3:"dog";v:0;l:5:"horse";v:20;l:6:"rabbit";v:50;}'
re.findall(r'("[A-Za-z]+");v:(\d+)', s)
# [('"cat"', '30'), ('"dog"', '0'), ('"horse"', '20'), ('"rabbit"', '50')]
С этим списком вы сможете получить его в нужном формате:
for row in re.findall(r'("[A-Za-z]+");v:(\d+)', s):
print("{}, {}".format(*row))
# "cat", 30
# "dog", 0
# "horse", 20
# "rabbit", 50