답변 파이썬을 이용하여 csv파일 데이터 변환하는 법_2

조회수 1737회

datetime을 이용하여 'date' 컬럼의 열을 모두 지정 후 변환하여 다시 넣어주려고 하는데

에러가 나오네요 해결방법 부탁드립니다

이미지

  • 제 질문에서 위 dateStr = change_csv['Date'] 는 주석처리해도 될거 같네요 김무겸 2018.7.31 18:58

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    strptime() arguemnt 1 must be str, not Series 란 오류를 보면 change_csv['Date']가 문자열이 아니라 Series 인것 같습니다.

    아래와 같이 Series 로 부터 문자열을 꺼내와 처리하면 될 것 같습니다.

    for index in change_csv['Date'].index:
        dateStr = change_csv['Date'][index]
        date = datetime.strptime(dateStr, '%b %d, %y')
        change_csv['Date'][index] = date.strftime('%Y-%m-%d')
    
    • unconverted data remains: 18 김무겸 2018.8.1 09:58
    • 위와같은 변환되지 않은 데이터 보존이 18개가 된다는 에러가 나옵니다 ㅠㅠ 김무겸 2018.8.1 09:58
    • 해당 오류가 어떤 줄에서 발생하는 거죠? 유동욱 2018.8.1 10:19
    • 3번째 date = datetime.strptime(dateStr, '%b %d, %y') << 이 줄입니다! 김무겸 2018.8.1 10:31
    • 일전에 질문하셨을 때는 31-Jul-18 형식의 데이터였는데 다른걸로 변경된건가요? 유동욱 2018.8.1 10:34
    • 아니요 엑셀로 봤을때는 해당 형식으로 나오는데 print(change_csv['Date'])로 봤을때는 Jul 31, 2018 이런 형식으로 나와서요 김무겸 2018.8.1 10:43
    • 엑셀은 CSV 데이터를 그대로 보여주는게 아니라 자신의 형식에 맞게 보여줄 수 있습니다. 메모장 같은 텍스트 에디터로 열어 확인해야합니다. 아니면 print(dateStr) 를 넣어서 확인해보세요. 만약 이전 형식이 맞다면 date = datetime.strptime(dateStr, '%d-%b-%y') 으로 수정해 보시구요. 유동욱 2018.8.1 11:52
    • 확인법 참고하겠습니다 일단 pd.to_datetime으로 변환되어서 해결되었습니다 감사합니다 김무겸 2018.8.1 15:36

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)