2016-12-07 1 views
0

투표 결과를 새 파일로 작성하는 프로그램을 만들고 있습니다. 사용 가능한 모든 투표 옵션을 작성하기 전에 파일이 비어 있는지 확인해야합니다 . (그렇지 않으면 사람이 투표 할 때마다 이미 입력 된 결과를 덮어 씁니다.) 내 문제는 코드 조각을 실행할 때 아무 것도 반환하지 않는다는 것입니다. 여기있다 :csv 파일이 비어있는 것처럼 보입니다.

def VOTE1(): 
     Data = ("VOTE") 
     voteChoice = OptionAmount.get() 
     with open('EXISTINGVOTE.CSV') as infile: 
      reader = csv.DictReader(infile) 
      for row in reader: 
       if voteChoice == row['TITLE NAME']: 
        f = open('{}.csv'.format(row['TITLE NAME']), "w") 
        f.close() 
        with open('{}.csv'.format(row['TITLE NAME']), "r") as f: 
         VoteRead = csv.reader(f, delimiter=",") 
         for row in VoteRead: 
          for field in row: 
           if field == Data: 
            print("Empty file") 
           else: 
            print("There is data in here") 
       else: 
        print("Not this one") 

나는 "빈 파일"또는 "데이터가 여기에 있습니다"현재

+0

을 얻고있다 :

open('{}.csv'.format(row['TITLE NAME']), "r") as f 

데이터를 추가 할 파일을 열려면 당신이 아마하고 싶은입니까? ''이 사람이 아니야 '', 아니면 전혀 없는가? – lucasnadalutti

+0

@lucasnadalutti 나는 아무것도 얻지 못한다. – Bennybobber

+0

[ask]와 [mcve]를 읽는 것은 어떨까요? – boardrider

답변

0

당신이 쓰기 위해 파일을 열어 파일의 내용을 파괴 말하는 성명을지고해야 ...

f = open('{}.csv'.format(row['TITLE NAME']), "w") 

... 그리고 지금 비어있는 새 파일을 읽습니다. 대신 무엇을

if voteChoice == row['TITLE NAME']: 
    # two lines deleted 
    with open('{}.csv'.format(row['TITLE NAME']), "a") as f: 
+0

나는 변화를 만들었지 만 이제 Vote.Very1에있는 "C : \ Users \ User \ Desktop \ New stuff \ VoteMenu2.py"파일, VOTE1 의 VoteRead 행에 파일을 부여합니다. io.UnsupportedOperation : 읽을 수 없음 – Bennybobber

+0

오류 코드를 변경했을 때 오류가 발생했습니다. – Bennybobber

+0

@Bennybobber "csv.reader UnsupportedOperation"에 대한 Google. –

관련 문제