elif el == 'Long': _formats[i]='el[i].read(20)' combined with for col in _columndata: data_vars[col]= eval(_formats[i]) req.write(col + ' : ' + str(eval(_formats[i])) + '\n' ) means that el[i].read(20) gets called twice because of the two evals. So you see characters 21 to 40. Daniel Dittmar