Jim Mooney wrote: > I'm trying the csv module. It all went well until I tried shortening a > long first name I put in just to exercise things. It didn't shorten.
> Original file lines: > Stewartrewqrhjeiwqhreqwhreowpqhrueqwphruepqhruepqwhruepwhqupr|Dorsey| nec.malesu...@quisqueporttitoreros.com|Cariboo > My result: > Stewartrewqrhjeiwqhreqwhreowpqhrueqwphru Dorsey It did shorten: >>> len("Stewartrewqrhjeiwqhreqwhreowpqhrueqwphruepqhruepqwhruepwhqupr") 61 >>> len("Stewartrewqrhjeiwqhreqwhreowpqhrueqwphru") 40 > if len(line[0]) > 40: # problem here - didn't shorten > line[0] = line[0][:40] > print("{0:<20s} {1:<20s}".format(line[0], line[1])) You have to make up your mind if you want to shortend to 40 or 20 chars. > And I also got weird first characters on the header line. What went wrong? > Original file lines: > > first_name|last_name|email|city|state or region|address|zip ... > My result: > > Ï»¿First Name Last Name # odd characters on header line ... Ï»¿ is the UTF-8 BOM (byte order mark) interpreted as Latin 1. If the input is UTF-8 you can get rid of the BOM with with open("data.txt", encoding="utf-8-sig") as csvfile: ... _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor