Aqui solução em Perl:
cat b.txt
(0,1,{35=9000.0, 36=9000.0, 33=9000.0, 34=9000.0})
perl -lne '$_=~/^\(([\d\,\.]+)\s*\{(.*)\}\)$/; @first=split /[,\s]/, $1; @second=split /,\s/, $2; map{($k, $v) = split "=", $_; $h{$k}=$v} @second; foreach $k (sort keys(%h)) { print join(" ", @first), " $k ",$h{$k}; }' b.txt
0 1 33 9000.0
0 1 34 9000.0
0 1 35 9000.0
0 1 36 9000.0
(É claro que este programa Perl será muito mais fácil de ler se usar mais que uma linha e se eu souber como dar nomes de significado a variáveis)