2017-11-21 1 views
0

Also, wenn ich den folgenden Code:Python - ein Array csv/txt schreiben und lesen dann

database = [] 
Name = input("What's the members name?") 
MT = input("What membership type?") 
DOB = input("What is the member DOB?") 
DJ = (now.day ,"/" , now.month, "/", now.year) 
year1 = int(now.year) 
month1 = int(now.month) 
day1 = int(now.day) 
ry = int(year1 + 1) 
rm = month1 
rd = day1 
renewal = (day1, month1, year1 + 1) 
details = ["Name:", Name, "Membership Type:", MT, "Date of Birth:", DOB, "Date Joined:", DJ,"Renewal Date:", renewal, "Renewal Year:", ry] 
database.append(details) 
menu() 

Wie würde ich über das Speichern (Datenbank) gehen in eine Textdatei/CSV-Datei später zu lesende .
Ich habe Pickle versucht, aber das Problem ist, ich muss in der Lage sein, jeden Teil des Arrays getrennt zu bekommen. wenn
Zum Beispiel I-Typ:

print(database[1]) 

Ich werde alle Namen zurückkehren gespeichert als „Name“, aber wenn ich die Datei mit Gurke zu schreiben, als ich es in bringen dann

print (database[1]) 

zeigt nun die Gesamtheit des hinzugefügten zweiten Benutzers an. Ich muss in der Lage sein, zu speichern (Datenbank) und es im gleichen Format zu haben, wenn wieder eingelesen. Erwartete Ausgabe mit JSON oder Pickle (unter der Annahme der erste Benutzer eingegebenen Name als "Jeff" und zweiten eingegebenen Namen als "John")

print (database[1]) 

Jeff 
John 

tatsächlicher Ausgang:

["Name:", John, "Membership Type:", MT, "Date of Birth:", DOB, "Date Joined:", DJ,"Renewal Date:", renewal, "Renewal Year:", ry] 
  • Sorry für die schlechte Erklärung, die ich zu python neu bin.
+1

Sie haben viele Möglichkeiten. Sie können Ihr Diktat mit JSON ablegen oder DictWriter verwenden, um als csv zu dumpen. –

+0

Ich versuchte dies, aber hatte das gleiche Problem, das ich mit Gurke hatte? Irgendein Rat – Jonathan

+1

Ich verstehe nicht, was dein Problem genau ist. Können Sie die Ausgabe (beim Zurücklesen) und Ihre erwartete Ausgabe posten? –

Antwort

0

Es scheint, dass Sie ein Array von Datensätzen erstellen. Versuchen Sie, auf diese Weise auf die Daten zuzugreifen:

print(database[0][1]) #[0] for the first record, [1] for second item 
print(database[1][1]) #second user, second item