0

Shift-JIS のままにしておく必要がある Python で編集する必要がある csv ファイルがあります。各セクションを Python インタープリターに入力してコードをテストすると、ファイルは正常に編集され、Shift-JIS のままになります。Python インタープリターで次の行を実行します。

import sys, codecs
reload(sys)
sys.setdefaultencoding('shift_jis')

これらの行をスクリプトに入れて DOS プロンプトから実行すると、もちろん、追加したシフト JIS 文字が台無しになります。DOS プロンプトで chcp を実行すると、chcp 932、shift-JIS を実行していると表示されます。何が機能していないか誰か知っていますか?

4

1 に答える 1

1

誰かが知る必要がある場合、これは救済策です:

この場合、Shift-JIS が必要なときに Python は Unicode を使用していました。私にとってうまくいったのは、ユニコードを使用するように行を指定し、それらをShift-JISでエンコードしてからファイルに書き込むことでした。これは毎回機能しました。

例えば:

name = u"テスト "
newstring = name + other_string_data
newstring = newstring.encode('shift_jis')

次に、文字列はシフト JIS にエンコードされて書き込まれます。これはこれを行うための最もエレガントな方法ではありませんが、これが誰かの助けになることを願っています。理解するのに約2時間かかりました。

于 2014-07-01T07:01:58.507 に答える