파이썬으로 JSON데이터를 파일에 옮겨적는 법

조회수 9010회

JSON 데이터를 저장하는 변수 data를 텍스트 파일에 적으려고 합니다.

일반 파일처럼 적었더니 에러가 나는데 왜 그런걸까요?

소스코드

obj = open('data.txt', 'wb')
obj.write(data)
obj.close

에러내용

TypeError: must be string or buffer, not dict

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    파일을 여는 데에는 아무런 문제도 없습니다.

    JSON data는 dict타입이기 때문에 JSON-encode해야 쓸 수 있습니다.

    #파이썬 2,3 모두 사용 가능
    import json
    with open('data.txt', 'w') as outfile:
        json.dump(data, outfile)
    

    #파이썬 2.x에서 사용 가능
    
    import io, json
    with io.open('data.txt', 'w', encoding='utf-8') as f:
        f.write(unicode(json.dumps(data, ensure_ascii=False)))
    

    #파이썬 3.x에서 사용 가능
    
    import json
    with open('data.txt', 'w') as f:
      json.dump(data, f, ensure_ascii=False)
    

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

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

(ಠ_ಠ)
(ಠ‿ಠ)