2014-04-27 2 views
0

나는 한 달 동안 Excel 데이터베이스를 검색 할 코드를 작성하려고합니다 (형식 DD/MM/YYYY). "날짜"형식으로 작성된 파일을 검색하는 방법을 잘 모르겠지만 다른 모든 파일은 "일반"형식으로되어 있습니다. 누구든지이 작업을 수행하는 방법을 알고 있습니까?csv로 검색하는 방법. 파일을 "날짜"형식으로되어 있습니다.

내 코드 :

import csv 
dob = input('Input dob (DD/MM/YYYY): ') 
month = dob.split('/') 
with open('AddressBook.csv', newline='') as myfile: 
    reader = csv.reader(myfile) 
    for row in reader: 
     if int(month[1]) in row: 
      print(row) 
     else: 
      () 

이 문제의 엑셀 주소록입니다.

http://i.stack.imgur.com/JLcmi.png

+1

현재 코드가 작동하지 않는 이유는 무엇입니까? 오류가 있습니까? – J0e3gan

답변

1

당신은뿐만 아니라 데이터에 생년월일을 분할한다 (실제 이름이나 연락처 정보가 없습니다). 예를 들면 다음과 같습니다.

import csv 
dob = input('Input dob (DD/MM/YYYY): ') 
date, month, year = dob.split("/") 

with open('AddressBook.csv', newline='') as myfile: 
    reader = csv.reader(myfile) 
    for row in reader: 
     row_date, row_month, row_year = row[6].split("/") 
     if row_month == month: 
      print(row) # or whatever you want to print.. 

생년월일이 6 번째 색인에 있으므로이를 분할합니다.

_, month, __ = dob.split("/") 
with open("AddressBook.csv") as myfile: 
    matched = [row for row in csv.DictReader(myfile) if month == row[6].split("/")[1]] 

지정된 출생의 날짜와 일치 행의 목록이 발생합니다 : 스플릿 목록을 풀기 것은 또한 csv.DictReader 및 지능형리스트를 사용할 수

..와 함께 작동하도록 조금 더 좋은한다 .

+0

고맙습니다. 당신이 내 대답을 투표 할 수 있다면 당신은 저에게 많은 도움을주었습니다 ... 그렇습니다! :) – user3576688

+0

@ user3576688 [like this] (http://meta.stackoverflow.com/questions/251078/how-to-update-and-accept-answers) 답변을 수락하십시오. – msvalkon

관련 문제