2017-09-27 37 views
0

我想用變音符寫入js文件。python用變音符寫入js文件

我的庫:

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) 

效果很好。我這是因爲寫()。我該如何解決這個問題?

+0

我不確定'js'文件應該是什麼,但爲什麼不使用JSON? –

+0

你的輸入看起來不錯,使用'json'文件而不是'csv/js構造'來繞過編碼問題(如果可能的話)。另外看看[csv文檔>>](https://docs.python.org/2/library/csv.html#examples) –

+0

@DanielRoseman這是javaScript,但我也可以寫txt。在這兩種不工作... –

回答

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

但我解決了這個問題:with open('gm_auto _'+ str(1)+'。js','w ')as js_out: \t for a in csvOut: \t \t json.dump(a,js_out,ensure_ascii = False) –

+0

是的,我使用'dumps'而不是'dump' :) –