1. ホーム
  2. python

[解決済み] Pythonで数値のリストをjsonarrayに変換する方法

2023-06-04 08:22:28

質問

以下のような形式の行があります。

row = [1L,[0.1,0.2],[[1234L,1],[134L,2]]]

さて、私が望むのは、ファイルに次のように書き込むことです。

[1,[0.1,0.2],[[1234,1],[134,2]]]

基本的に上記をjsonarrayに変換する?

Pythonで配列をjson配列に"dump"する組み込みのメソッド、ライブラリ、関数がありますか?

また、私は"L"が私のファイルでシリアライズされることを望んでいないことに注意してください。

どのように解決するのですか?

この場合 json モジュール でJSON出力を生成します。

import json

with open(outputfilename, 'wb') as outfile:
    json.dump(row, outfile)

これはJSONの結果を直接ファイルに書き込みます(ファイルがすでに存在していた場合は、以前の内容を置き換えます)。

Python自体でJSONの結果文字列が必要な場合は json.dumps() (追加された s を追加)。

json_string = json.dumps(row)

L は単に長い整数値を表すPythonの構文です。 json ライブラリはこれらの値をどのように扱うか知っています。 L は書き込まれません。

デモの文字列が出力されます。

>>> import json
>>> row = [1L,[0.1,0.2],[[1234L,1],[134L,2]]]
>>> json.dumps(row)
'[1, [0.1, 0.2], [[1234, 1], [134, 2]]]'