with open('path/to/input') as infile, open('path/to/output', 'w') as outfile:
writer = csv.writer(outfile, delimiter='\t')
for line in csv.reader(infile, delimiter='\t'):
vals = line[-1]
headers = line[:-1]
for val in vals.split(';'):
writer.writeline(headers + [val])