- readlines() is redundant for filehandle objects, you can omit it.
- Prefer Python's string formatting operator. I even prefer the extended dict-compatible syntax.
- close() is called automatically when the filehandles are garbage-collected; you can usually omit it for tasks like this.
- ranges (like those in brackets) are exclusive, not inclusive. So I suspect you have an off-by-one error there.
Thus:
in_file = open('c:/WVASA/original.txt', 'r')
out_file = open('c:/WVASA/output.txt', 'w')
template = '''
<tr bgcolor="#006699">
<td>%(country)s</td>
<td>%(name)s</td>
<td>%(street)s</td>
<td>%(city)s</td>
<td>%(zipcode)s</td>
<td><a href="mailto:%(email)s">%(email)s</a></td>
</tr>'''
template = template.strip()
for line in in_file:
out_file.write(template % {
'county': line[:12].rstrip(),
'email': line[12:43].rstrip(),
'name': line[43:73].rstrip(),
'street': line[73:99].rstrip(),
'city': line[99:118].rstrip(),
'zipcode': line[118:].rstrip(),
})