2017-11-21 2 views
0

그래서 나는 다음과 같은 코드가있는 경우 : I 텍스트 파일/CSV 파일 (데이터베이스) 저장 가겠어요 나중에 읽을 수 방법파이썬 - CSV/TXT로 배열을 작성하고 읽을

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() 

을 .
필자는 피클을 시도했지만 문제는 배열의 각 부분을 개별적으로 가져올 수 있어야한다는 것입니다. 예를 들어
내가 입력 한 경우 : 내가 다음에 다시

print (database[1]) 

을 가져 때 피클을 사용하여 파일을 작성한다면

print(database[1]) 

내가 그러나, "이름"으로 저장되어있는 모든 이름을 반환합니다 이제 추가 된 두 번째 사용자의 전체가 표시됩니다. JSON 또는 Pickle을 사용하여 예상되는 출력 (첫 번째 사용자 이름을 "Jeff"로 입력하고 두 번째로 입력 한 이름을 "John"으로 가정)

print (database[1]) 

Jeff 
John 

실제 출력 :

내가 파이썬에 새로 온 사람 나쁜 설명은
["Name:", John, "Membership Type:", MT, "Date of Birth:", DOB, "Date Joined:", DJ,"Renewal Date:", renewal, "Renewal Year:", ry] 
  • 죄송합니다.
+1

많은 선택 사항이 있습니다. JSON을 사용하여 dict을 덤프하거나 DictWriter를 사용하여 csv로 덤프 할 수 있습니다. –

+0

나는 이것을 시험해 보았지만 피클과 같은 문제가 있었습니까? 모든 조언 – Jonathan

+1

나는 당신의 문제가 정확히 무엇인지 이해하지 못합니다. 출력 (다시 읽을 때)과 예상 출력을 게시 할 수 있습니까? –

답변

0

레코드 배열을 만드는 것처럼 보입니다. 다음과 같이 데이터에 액세스하십시오.

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