Pythonディクショナリjsonソートフォーマット書き込みファイル(美観を保証+比較検索しやすい)
JSON(JavaScript Object Notation)は、軽量レベルのデータ交換フォーマットです.(xmlファイルに代わる強力なライバルとして)ECMAScriptのサブセットに基づいている.JSONは言語から完全に独立したテキスト形式を採用しているが、C言語ファミリーに似た習慣(C、C++、Java、JavaScript、Perl、Pythonなど)も使用されている.これらの特性はJSONを理想的なデータ交換言語にした.読み取りと作成が容易であり、機械の解析と生成も容易である(ネットワーク伝送速度の向上に一般的に用いられる).
ここでは主にPythonのjsonパッケージを紹介し,import jsonでインポートする.
json:文字列とpythonデータ型間の変換jsonモジュールには、dumps、dump、loads、loadの4つの機能があります. dumpsデータ型を文字列 に変換する dumpデータ型を文字列に変換してファイルに格納 . loads文字列をデータ型 に変換 loadファイルを開く文字列からデータ型に変換 方法一:dump——一言でフォーマット転換+ファイル書き込み機能を完成する
dumpはdumps+fileに相当する.writeの2つの機能は、1つの文で問題を解決する利点があります.
共通パラメータ:
パラメータ名
説明する
obj
jsonファイルに格納するpythonオブジェクト
fp
ファイルハンドル
ensure_ascii
Falseに設定すると中国語を中国語でファイルに保存できます.そうしないと「xXxXX」となります.
indent
インデントされたスペースの数を0以外の値に設定すると、フォーマットの効果があり、比較的美しいです.
例:
つまり
欠点:各グループの対応データが整列なしの場合、dump関数でソートを設定できず、出力の順序が混乱します.-強迫症患者のやり方–以下を参照:
方法2:dumps-dumpsを使用してソートし、ファイルに書き込む
dataデータ:
次にkey値(579215338)に基づいてdata辞書のソートを行い、jsonファイルに書き込むことを望む.
メソッド1のみを使用した場合、出力された結果は次のとおりです(ソートされていません).
出力結果(file.jsonファイルに保存されているデータ):
もしあなたに役に立つと感じたら、「いいね」をクリックして、波に注目して、ブロガーを励まして更新し続けてください.
ここでは主にPythonのjsonパッケージを紹介し,import jsonでインポートする.
json:文字列とpythonデータ型間の変換jsonモジュールには、dumps、dump、loads、loadの4つの機能があります.
dumpはdumps+fileに相当する.writeの2つの機能は、1つの文で問題を解決する利点があります.
共通パラメータ:
パラメータ名
説明する
obj
jsonファイルに格納するpythonオブジェクト
fp
ファイルハンドル
ensure_ascii
Falseに設定すると中国語を中国語でファイルに保存できます.そうしないと「xXxXX」となります.
indent
インデントされたスペースの数を0以外の値に設定すると、フォーマットの効果があり、比較的美しいです.
例:
import json
data = {
579:356, 215:382, 338:400}
with open('file.json', 'w') as jsonfile:
json.dump(data, f)
#
# {"title":"githubOfFarmertian","name":"farmertian","url":"https://github.com/TLGits","description":"www"}
json.dump(data, f, indent=4)
#
# {
# "title":"githubOfFarmertian",
# "title":"farmertian",
# "url":"https://github.com/TLGits",
# "description":"www"
# }
つまり
json.dump()
を使うときにindent
パラメータの値を設定すれば良いのです.出力の結果のフォーマットを保証できます.欠点:各グループの対応データが整列なしの場合、dump関数でソートを設定できず、出力の順序が混乱します.-強迫症患者のやり方–以下を参照:
方法2:dumps-dumpsを使用してソートし、ファイルに書き込む
dataデータ:
data = {579:356, 215:382, 338:400}
次にkey値(579215338)に基づいてdata辞書のソートを行い、jsonファイルに書き込むことを望む.
メソッド1のみを使用した場合、出力された結果は次のとおりです(ソートされていません).
{
"579":356,
"215":382,
"338":400,
}
解决方案:
使用dumps方法先进行排序和格式化:sort_keys=True,确定排序顺序,indent确定格式化,生成jsonOrderedFile为str类型的数据,然后直接打开文件并写入。
import json
data = {
579:356, 215:382, 338:400}
jsonOrderedFile = json.dumps(data, sort_keys=True, indent = 4)
with open('file.json', 'w') as jsonfile:
jsonfile.write(jsonOrderedFile)
出力結果(file.jsonファイルに保存されているデータ):
{
"215":382,
"338":400,
"579":356,
}
とても完璧hhh!!!もしあなたに役に立つと感じたら、「いいね」をクリックして、波に注目して、ブロガーを励まして更新し続けてください.