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


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

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

소스코드

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

에러내용

TypeError: must be string or buffer, not dict

  • 2016년 02월 04일에 작성됨

조회수 985


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)
  • 2016년 02월 04일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close