Écrit en Python intégré .csv module

[S'il vous plaît noter que ce est une question différente de la déjà répondu Comment remplacer une colonne à l'aide de Python intégré .csv écrivain module?]

J'ai besoin de faire un rechercher et remplacer (spécifique à une colonne d'Url) dans un énorme Excel .fichier csv. Depuis que je suis dans les premiers stades d'essayer de m'enseigner un langage de script, j'ai pensé que je voudrais essayer de mettre en œuvre la solution en python.

J'ai du mal quand j'essaie d'écrire de nouveau à un .fichier csv après avoir modifié le contenu de l'entrée. J'ai lu le officiel csv documentation du module sur la façon d'utiliser l'écrivain, mais il n'y a pas un exemple qui couvre ce cas. Plus précisément, je vais essayer d'aller le lire, de le remplacer, et les opérations d'écriture accompli en une seule boucle. Cependant, on ne peut pas utiliser la même "ligne" référence à la fois pour la boucle de l'argument et que le paramètre de l'écrivain.writerow(). Donc, une fois que j'ai fait le changement dans la boucle for, comment dois-je écrire dans le fichier?

edit: j'ai mis en œuvre les suggestions de S. Lott et Jimmy, toujours le même résultat

edit #2: j'ai ajouté le "rb" et "wb" pour l'ouvrir() fonctions, par S. Lott suggestion du

import csv

#filename = 'C:/Documents and Settings/username/My Documents/PALTemplateData.xls'

csvfile = open("PALTemplateData.csv","rb")
csvout = open("PALTemplateDataOUT.csv","wb")
reader = csv.reader(csvfile)
writer = csv.writer(csvout)

changed = 0;

for row in reader:
    row[-1] = row[-1].replace('/?', '?')
    writer.writerow(row)                  #this is the line that's causing issues
    changed=changed+1

print('Total URLs changed:', changed)

edit: Pour votre référence, c'est le nouveau plein de retraçage de l'interprète:

Traceback (most recent call last):
  File "C:\Documents and Settings\g41092\My Documents\palScript.py", line 13, in <module>
    for row in reader:
_csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)

OriginalL'auteur ignorantslut | 2009-06-19