2017-06-23 1 views
0
elif addordelete = "delete": 
     whichdelete = input("What thing do you want to delete? ") 

GameCharacter.csvWie eine bestimmte Zelle in einer CSV-Datei zu löschen, wenn der Inhalt in einem Eingang in Python gesagt

Ich mag wissen, wie eine bestimmte Zelle in einer CSV-Datei über eine Python Eingabe zu löschen.

Zum Beispiel, wenn der Benutzer im Python-Programm sagt, dass sie MP40 aus der Datei löschen wollen, dann sollte es löschen. Kann jemand erklären, wie man das so einfach wie möglich macht (ich bin eine Art Python Noob.

+0

wenn Sie stellen mir einige CSV-Beispielzeilen zur Verfügung Ich kann ein Codeschnipsel schreiben – magicleon

+0

Was meinst du damit? Möchten Sie meinen gesamten Code oder möchten Sie die CSV-Datei selbst? Die CSV-Datei befindet sich bereits in meinem Post. –

+0

die csv geschrieben Sie ist ein Bild .. ich einen Copypaste des csv Inhalts haben möchte, nur zwei oder drei Zeilen – magicleon

Antwort

0

Sie müssen die ganze CSV in Python importieren, verarbeiten und speichern Sie es zurück in die Datei aus diesem Code.

Hier ist ein einfaches Schnipsel, die die CSV, verarbeitet sie zu fragen, was Sie, dann speichert sie wieder öffnet löschen möchten.
Sie beginnen zu bekommen, was Sie brauchen.

import csv 


try: 
    csvfile = open('testcsv.csv','rb') 
    table = [row for row in csv.reader(csvfile)] #further parameters such as delimiters on doc 
    whichdelete = whichdelete = input("What thing do you want to delete? ") 
    header = table.pop(0) #remove header and save it to header variable 
    res = [row for row in table if whichdelete not in row] #save result without the row you want to delete 
    csvfile.close() 
except IOError: 
    print "File not found" 
    quit() 

try: 
    resultFile = open('resultCSV.csv','wb+') 
    writer = csv.writer(resultFile) 
    writer.writerow(header) 
    for row in res: 
     writer.writerow(row) 
    resultFile.close() 

except IOError: 
    print "Error creating result file" 
    quit() 
Verwandte Themen