2013-06-20 4 views
1

내 스크립트의 설정이 들어있는 json 설정 파일이 있습니다. 설정의 일부는 csv.writer()의 구분 기호입니다.파일에서 읽은 CSV 구분 기호

이 변수 settings로 읽고 나에게주는 그것을 인쇄되는 경우 : TypeError: "delimiter" must be an 1-character string :

나는 다음과 같은 오류를 얻을 csv.writer(out, **settings)이를 사용하려고 {'delimiter': u','}. 나는이에 할 수 없었다 의미 내가 처음에이 파일을 읽을 수있는 방법이 있는지 settings["delimiter"] = settings["delimiter"].encode("utf-8")

을 ...하지만 난 궁금 오전 : 이제

내가이 작업을 수행 할이 문제를 해결하려면 ?

편집 :

설정 파일을 다음과 같이 읽어 :

with open(file) as settings: 
     details = json.load(settings) 
+0

그리고 어떻게 그 설정 파일을 처음 읽는 중입니까? –

+0

@MartijnPieters 편집을 참조하십시오. – Cheetah

+1

Dupe of http://stackoverflow.com/q/4723535/155813? – mg007

답변

1

가 아니, JSON 표준 (이것은 좋은 일이있다)을 통해 유니 코드를 사용합니다. json 라이브러리에는 대신에 바이트 문자열을 반환하도록 전환하기 위해 디코더를 서브 클래 싱하는 데 필요한 옵션이 없습니다.

구분 기호 만 인코딩하면됩니다.