두 가지 목적으로 변환해야하는 CSV 파일이 있습니다. 이벤트 소책자 인쇄 (시간으로 분류 날 현명한 일정) 16/11/2017 (목) 시간, 보컬/바이올린/Mrudagam (이벤트 '보컬'인 경우) 시간, 댄스/바이올린 파이썬을 사용하여 여러 형식으로 CSV 변환
- /Mrudangam (이벤트는 '댄스'인 경우) 시간, 드라마
날짜, 시간, 이벤트, 보컬, 바이올린 중포 기지 업로드 (JSON)에 대한
(이벤트 '드라마'인 경우) Mrudangam, Ghatam, Kanjira, Bharata natyam, Dance, Flute, Drama
모든 열에 모든 값이 들어있는 것은 아닙니다. 예를 들어 이벤트가 '음성'이고 '보컬'만있는 경우 '바이올린'과 '뮤 던망'에 값이 있습니다.
나는, 그래서 같이def form_event_string(event):
fevent=""
print("formatting event: " + event['Event'])
if event['Event'] == 'VOCAL':
fevent = "{Vocal}/{Violin}/{Veena}/{Mrudangam}/{Ghatam}/{Kanjira}/{Morsing}/{Flute}/{Other}/{Venue}".format(**event)
elif event['Event'] == 'VIOLIN':
fevent = "{Violin}/{Mrudangam}/{Ghatam}/{Kanjira}".format(**event)
elif event['Event'] == 'VEENA':
fevent = "{Veena}/{Flute}/{Violin}/{Mrudangam}/{Ghatam}/{Kanjira}/{Morsing}/{GottuVadhyam}".format(**event)
elif event['Event'] == 'GHATAM':
fevent = "{Ghatam}/{Violin}/{Mrudangam}/{Kanjira}/{Morsing}".format(**event)
else event['Event'] == 'BHARATANATYAM':
fevent = "{Bharatanatyam}".format(**event)
return fevent
을 모든 행을 처리하고 CSV 파일에이 문자열을 추가 유지 한 후 CSV 파일을 읽고
with open(args.eventfile,'r') as csvfile:
eventreader = csv.DictReader(csvfile, delimiter=",")
#sortedlist = sorted(eventreader, key=lambda row:(row['Date'],row['Time']), reverse=False)
sortedlist = sorted(eventreader, key=lambda each_dict: (datetime.strptime(each_dict['Date'], '%m/%d/%Y'),
datetime.strptime(each_dict['Time'], '%I:%M %p')))
를 사용하여 동일한를 정렬합니다.
내 질문은 -이 작업을 수행하는 다른 방법이 있습니까? 어떤 도움을 주셔서 감사합니다.