2017-09-27 10 views
0

私はウムラウトでjsファイルに書きます。Pythonはウムラウトでjsファイルに書き込み

マイLIBS:

import sys 
reload(sys) 
sys.setdefaultencoding('utf8') 

マイ入力:

[['10086', 10003, '29A.1 Sch\xc3\xa4tzung Mittel, Varianz, Standardabweichung; Stichprobe; OpenOffice.org; robuste Statistik', '00:29:16', 0.89868785807252183, 'method_onlyFT'], ['10108', 10004, 'K01 Ungleichung', '00:14:58', 0.87930209508145918, 'method_onlyFT']] 

マイコード:

with open('gm_auto_'+str(1)+'.js', 'w') as js_out: 
    for a in csvOut:  
     js_out.write(repr(a)) 

私の出力:はウムラウト

なしまだと同じです:

with open('masterCsv.txt', 'w') as masterCsv: 
    for c in csvOut: 
     wtr = csv.writer(masterCsv, delimiter= ';') 
     wtr.writerows(c) 
うまく機能

。私はこれがwrite()のためです。これをどうすれば解決できますか?

+0

「js」ファイルの内容はわかりませんが、なぜJSONを使用しないのですか? –

+0

あなたの入力はうまく見えますが、(可能であれば)エンコードの問題を回避するために 'csv/js construct 'の代わりに' json'ファイルを使用してください。また、[csv docs >>](https://docs.python.org/2/library/csv.html#examples) –

+0

@DanielRoseman ist javaScriptを見てください。しかし、私はtxtも書くことができます。 js_outように( 'JSON'、 'W'(1)+ 'gm_auto _' + STR)オープンで:doesntの仕事の両方において... –

答えて

0

データは、jsonファイルに簡単に書き込むことができます。これは、javascriptでデータを共有するための好ましい方法です。
副次的注意:配列データ構造はresult.jsonと同じであるため、配列をcsvに変換してJSに戻す必要はありません。

import json 

data = [['10086', 10003, '29A.1 Sch\xc3\xa4tzung Mittel, Varianz, Standardabweichung; Stichprobe; OpenOffice.org; robuste Statistik', '00:29:16', 0.89868785807252183, 'method_onlyFT'], ['10108', 
10004, 
'K01 Ungleichung', '00:14:58', 0.87930209508145918, 'method_onlyFT']] 

with open('/tmp/result.json', 'w') as output: 
     output.write(json.dumps(data)) 
+0

あなたの解決策は、エラーがあります:TypeError:dump()は少なくとも2つの引数(1与えられます) –

+0

しかし、私は問題を解決した:open( 'gm_auto _' + str(1)+ 'js'、 'w ')as js_out: \t for a csvOut: \t \t json.dump(a、js_out、ensure_ascii = False) –

+0

はい、私は 'dump'の代わりに' dumps'を使っていました:) –

関連する問題