pythonを使用して中国語jsonを読み書きする
中国語の読み書き
中国語jsonを読み書きするにはpythonのjsonライブラリを使用してjsonを操作します.読み込みデータは、
1
2
3
f
=
file
(
path
)
data
=
json
.
load
(
f
)
jsonはdictタイプのobjectオブジェクトにロードされます.
1
2
output
=
json
.
dump
(
jsonData
,
targetFile
,
ensure_ascii
=
False
,
indent
=
4
)
中国語のjsonを出力します.ensure_を使用することでascii=Falseで、元の言語文字を出力します.indentパラメータはインデント数です.
書き込みファイルのフォーマットの変更
前回エクスポートしたstringを直接ファイルに書き込むとエラーが発生します(Python 2.7でのみ発生する可能性があります):
これは、ここで出力されるascii符号化の一部がサポートされていないため、エラーが発生します.
解決策は、出力時にファイルに特定のUTF-8符号化を設定することです.
1
2
3
4
5
import
codecs
with
codecs
.
open
(
path
,
'w'
,
'utf-8'
)
as
w
:
#write to w
この方法でファイルに正常に出力できます.
本ブログは阿修羅道から出たもので、転載は出典を明記し、商業用途に使用することを禁止してください.http://blog.csdn.net/fansongy/article/details/40051413
中国語jsonを読み書きするにはpythonのjsonライブラリを使用してjsonを操作します.読み込みデータは、
json.load
を使用することができる.1
2
3
f
=
file
(
path
)
data
=
json
.
load
(
f
)
jsonはdictタイプのobjectオブジェクトにロードされます.
json.dump
を使用してjsonを出力できます.しかし、出力されたテキストは中国語ではなく、utf-8
のフォーマットに変換されます.ここで必要なものは次のとおりです.1
2
output
=
json
.
dump
(
jsonData
,
targetFile
,
ensure_ascii
=
False
,
indent
=
4
)
中国語のjsonを出力します.ensure_を使用することでascii=Falseで、元の言語文字を出力します.indentパラメータはインデント数です.
書き込みファイルのフォーマットの変更
前回エクスポートしたstringを直接ファイルに書き込むとエラーが発生します(Python 2.7でのみ発生する可能性があります):
UnicodeEncodeError: 'ascii' codec can't encode characters in position 1-9: ordinal not in range(128)
これは、ここで出力されるascii符号化の一部がサポートされていないため、エラーが発生します.
解決策は、出力時にファイルに特定のUTF-8符号化を設定することです.
1
2
3
4
5
import
codecs
with
codecs
.
open
(
path
,
'w'
,
'utf-8'
)
as
w
:
#write to w
この方法でファイルに正常に出力できます.
本ブログは阿修羅道から出たもので、転載は出典を明記し、商業用途に使用することを禁止してください.http://blog.csdn.net/fansongy/article/details/40051413