I'm trying to automate a series of find/replace actions. I have an input file containing a large list of stemmed verb forms like this:
I want to change every "apologis" to "apolog", every "arisen" to "aris" and so on. Since my set of changes is large, I created a csv file containing a list of old forms and new forms like this:
Now I've written a script that I thought would iterate through each csv entry, and make replacements in the target file, but it just prints the original file with no changes. Here's my code:
import string, sys, os from os.path import join import csv myFile = open("input.csv","r") x = "".join(myFile) changes = csv.reader(open('test2_stext_rtext.csv', 'rb')) for old, new in changes: replaced_verb = x.replace(old, new) print replaced_verb myFile.close()
If I take this code and put a specific string in, it works (just for that string), like this:
for old, new in changes:
replaced_verb = x.replace('aplogis', 'aplog')
So the problem seems to be to get Python to take each old and new form properly. Any suggestions would be appreciated.