Unwanted Spaces and Iterative Loop

Mark Lawrence breamoreboy at yahoo.co.uk
Sun Jan 26 17:20:36 EST 2014


On 26/01/2014 21:46, matt.s.marotta at gmail.com wrote:
> I have been working on a python script that separates mailing addresses into different components.
>
> Here is my code:
>
> inFile = "directory"
> outFile = "directory"
> inHandler = open(inFile, 'r')
> outHandler = open(outFile, 'w')
> outHandler.write("FarmID\tAddress\tStreetNum\tStreetName\tSufType\tDir\tCity\tProvince\tPostalCode")
> for line in inHandler:
>      str = line.replace("FarmID\tAddress", " ")
>      outHandler.write(str[0:-1])
>
>      str = str.replace(" ","\t", 1)
>      str = str.replace(" Rd,","\tRd\t\t")
>      str = str.replace(" Rd","\tRd\t")
>      str = str.replace("Ave,","\tAve\t\t")
>      str = str.replace("Ave ","\tAve\t\t")
>      str = str.replace("St ","\tSt\t\t")
>      str = str.replace("St,","\tSt\t\t")
>      str = str.replace("Dr,","\tDr\t\t")
>      str = str.replace("Lane,","\tLane\t\t")
>      str = str.replace("Pky,","\tPky\t\t")
>      str = str.replace(" Sq,","\tSq\t\t")
>      str = str.replace(" Pl,","\tPl\t\t")
>
>      str = str.replace("\tE,","E\t")
>      str = str.replace("\tN,","N\t")
>      str = str.replace("\tS,","S\t")
>      str = str.replace("\tW,","W\t")
>      str = str.replace(",","\t")
>      str = str.replace(" ON","ON\t")
>
>
>      outHandler.write(str)
> inHandler.close()
>
> The text file that this manipulates has 91 addresses, so I'll just paste 5 of them in here to get the idea:
>
> FarmID	Address
> 1	1067 Niagara Stone Rd, Niagara-On-The-Lake, ON L0S 1J0
> 2	4260 Mountainview Rd, Lincoln, ON L0R 1B2
> 3	25 Hunter Rd, Grimsby, ON L3M 4A3
> 4	1091 Hutchinson Rd, Haldimand, ON N0A 1K0
>
> My issue is that in the output file, there is a space before each city and each postal code that I do not want there.
>
> Furthermore, the FarmID is being added on to the end of the postal code under the original address column for each address.  This also is not supposed to be happening, and I am having trouble designing an iterative loop to remove/prevent that from happening.
>
> Any help is greatly appreciated!
>

Make your life easier by using the csv module to read and write your 
data, the write using the excel-tab dialect, see 
http://docs.python.org/3/library/csv.html#module-csv

-- 
My fellow Pythonistas, ask not what our language can do for you, ask 
what you can do for our language.

Mark Lawrence




More information about the Python-list mailing list