2016-10-27 6 views
2

저는 비교적 Python에 익숙하지 않으므로 처음부터 깨끗한 코드를 작성하고 싶습니다. "20140101"의 형식으로 날짜를 "2014-01-01"로 형식화하는 문자열 구문 분석기가 필요합니다. 내가 이걸 어떻게 달성했는지는 다음과 같습니다.하이픈을 사용하여 날짜 문자열을 다시 포맷하십시오.

def parse(date): 

    list_date = list(date) 
    list_date.insert(4,"-") 
    list_date.insert(7,"-") 
    return "".join(list_date) 

매우 잘 작동하지만 아주 깨끗하게 보입니다. 어쩌면 다른 해결책은 없지만 코드를 작성하는 데 더 많은 pythonic 방법이 있다면 이것을 공유하면 좋을 것입니다!

+1

'datetime.strptime'과'datetime.strftime' 문서를 읽으려고 했습니까? –

답변

3
def parse(date): 
    return "{}-{}-{}".format(date[:4], date[4:6], date[6:]) 

약간의 오류가있을 수 있지만, 어떻게해야하는지 감안할 때이 오류가 발생합니다.

파이썬의 문자열 포맷팅에 대한 자세한 내용은 pyformat.info도 참조하십시오.

또한 datetime 모듈을 살펴보고 날짜를 처리하는 Python의 방법에 대해 자세히 알아 보시기 바랍니다. ;)

+1

아마도 형식이 필요하지 않을 수도 있습니다. ''- '. join'도 잘 작동합니다. –

+0

True dat. 'format'은 새로운 사용자를위한보다 직관적 인 옵션을 제공합니다. –

0

B. Eckles에서 언급 한 형식을 사용할 수 있습니다. 하지만 당신은 할 수 있습니다 : 당신이 실제로 당신의 문자열의 일부를 대체하는보다 더 아무것도 사용하지 않을로

def parse(date): 
    return "%s-%s-%s" % (date[:4], date[4:6], date[6:]) 

사용 형식은 불필요한 것 같다.

관련 문제