I think you're attacking the problem from a wrong angle. Try encoding each row before writing instead:
import csv
sh = [u'T\xe9l\xe9vista S.A.', u'T\xe9l\xe9vista S.A.', 'Python']
f = open('listwrite.txt', 'wb') # binary mode
writer = csv.writer(f)
writer.writerow([item.encode('latin-1') for item in sh])
f.close()
Now you have a proper latin1-encoded file:
$ cat listwrite.txt | iconv -f latin1
Télévista S.A.,Télévista S.A.,Python
$ file listwrite.txt
listwrite.txt: ISO-8859 text, with CRLF line terminators