J'ai les données suivantes d'un fichier csv appelé temp.Python Modifier les en-têtes CSV
Item,Description,Base Price,Available
2000-000-000-300,AC - CF/M Series Green For Black Hood,299.99,3
2000-000-000-380,AC - CF/M Series Green For White Hood,299.99,3
Je dois changer les en-têtes pour lire
Item Number,Item Description,List Price,QTY Available
J'ai cherché des questions similaires sur ce site et ai pas une solution que je peux comprendre que je suis relativement nouveau à la programmation de python. Jusqu'à présent, j'ai:
import csv
import os
inputFileName = "temp.csv"
outputFileName = os.path.splitext(inputFileName)[0] + "_modified.csv"
with open(inputFileName) as inFile, open(outputFileName, "w") as outfile:
r = csv.reader(inFile)
w = csv.writer(outfile)
Ce que je sais ne lit que le fichier d'origine, puis écrira à _modified. Comment puis-je sélectionner les en-têtes actuels, puis les modifier pour qu'ils écrivent dans le nouveau fichier?
Lorsque je tente d'exécuter le script que je reçois TypeError: writerow() prend exactement un argument (4 donné). – barkl3y
La méthode habituelle pour appeler 'next' dans Python 3 est' next (r) '(un paramètre). Pour ceux qui utilisent Python 2, ce serait 'r.next()'. (Je peux déduire du commentaire d'OP qu'il n'a pas eu de problème avec votre invocation 'next', cependant.;) –
@ barkl3y: Oui, groupez tous les arguments dans une seule liste ou un premier rang. (Il suffit de mettre une paire de crochets ou un second ensemble de parens autour des arguments.) –