前回の記事「手をつないでPythonを学ぶ」34-ファイルの書き込みでは、2つのファイルの書き込み方法を学び、同時に、読み取り操作と書き込み操作の異なるファイルオープンモードの違いを示しました。
今日学習されるデータの保存は実際には一種のファイル書き込みですが、以前の書き込みは主に文字列であり、今日はファイルの保存と読み取りに特定のデータ形式を使用します。この形式は-JSONです。
1、JSON
JSON(JavaScript Object Notation)は、簡潔で明確な階層構造を備えた軽量のデータ交換フォーマットであり、読み取りと書き込みに便利なだけでなく、マシンの分析と生成も簡単で、ネットワークの伝送効率を効果的に向上させることができます。JSONは元々JavaScript用に開発されましたが、その後、一般的な標準化されたデータ形式になり、Pythonを含む多くのプログラミング言語で広く使用されています。
データストレージの標準化されたデータ形式であるJSONを使用すると、さまざまなプログラミング言語やネットワークで簡単に送信および共有できます。Pythonの重要なアプリケーションブランチクローラーの1つでは、JSON形式を使用してWebページ情報をクロールおよび保存します。
現在、JSONの特定の形式について詳しく知る必要はありません。必要に応じて、後で紹介します。
2.JSONデータストレージ
以前に学んだファイル書き込みメソッドはwrite()とwritelines()です。ここに書かれている内容は主に文字列形式です。JSON形式でデータを書き込んだり保存したりする場合は、json.dump()関数を使用する必要があります。
json.dump()関数には2つのパラメーターが含まれています。1つは保存するデータの内容で、もう1つはデータの保存に使用するファイル名(パスを含む)です。ファイルを作成するときと同じように、JSONデータを保存する前に、open()でファイルを開き、適切なオープンモードを選択する必要があります。
また、dump()関数はPythonの組み込み関数ではないため、使用する前にjsonモジュールをインポートする必要があります。以前のjson.dump()は、実際にはモジュール名と関数名の組み合わせです。このセクションについては、「手をつないでPythonを学ぶ」30モジュールで紹介されているコンテンツを参照してください。
In [1]: import json
path = 'lesson/text/blank.txt'
data = '《手把手陪您学Python》1——为什么要学Python?' # 写入字符串
with open(path, encoding = 'utf-8', mode = 'w+') as file_object:
json.dump(data, file_object)
json.dump()を使用してデータを保存した後も出力はありません。ファイルを開くと、保存したばかりのデータがファイルに保存されていることがわかります。
3.JSONデータの読み取り
JSONを読み取るには、jsonモジュールに特定の関数json.load()が必要です。これにより、保存されたばかりのデータを読み取ることができます。
In [2]: import json
path = 'lesson/text/blank.txt'
with open(path, encoding = 'utf-8') as file_object:
print(json.load(file_object))
Out[2]: 《手把手陪您学Python》1——为什么要学Python?
4.他のデータ型の書き込みと読み取り
ここで示した文字列に加えて、JSONは配列と辞書のストレージもサポートしており、これら2つのデータ型はJSON形式の最も重要なデータ構造コンポーネントです。
In [3]: import json
path = 'lesson/text/blank.txt'
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] # 写入数组
with open(path, encoding = 'utf-8', mode = 'w+') as file_object:
json.dump(data, file_object)
file_object.seek(0)
print(json.load(file_object))
Out[3]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
In [4]: import json
path = 'lesson/text/blank.txt'
data = {'1': 'a', '2': 'b', '3': 'c'} # 写入字典
with open(path, encoding = 'utf-8', mode = 'w+') as file_object:
json.dump(data, file_object)
file_object.seek(0)
print(json.load(file_object))
Out[4]: {'1': 'a', '2': 'b', '3': 'c'}
上記は、JSONデータ形式に基づく保存と読み取りのプロセスです。以前にファイルの読み取りと書き込みの方法を学習したので、コンテンツのこの部分を比較的簡単に理解できます。
次の記事では、エラーと例外の処理方法を紹介しますので、ご期待ください。
この記事を読んでくれてありがとう!ご不明な点がございましたら、メッセージを残してご相談ください^ _ ^
「手をつないでPythonを学ぶ」シリーズの他の記事を読むには、公式アカウントに従ってメニュー選択をクリックするか、以下のリンクをクリックして直接アクセスしてください。
「手をつないでPythonを学ぶ」1-なぜPythonを学ぶのか?
「手をつないでPythonを学ぶ」2-Pythonのインストール
「手をつないでPythonを学ぶ」3-PyCharmのインストールと構成
「手をつないでPythonを学ぶ」4-HelloWorld!
「手をつないでPythonを学ぶ」5-JupyterNotebook
「手をつないでPythonを学ぶ」11-文字列のフォーマットされた出力
「手をつないでPythonを学ぶ」14-インタラクティブな入力
「手をつないでPythonを学ぶ」23-組み込みシーケンス関数
「手をつないでPythonを学ぶ」27-カスタム関数のパラメーター
「手をつないでPythonを学ぶ」28-カスタム関数の戻り値
ファンの方へ:「Pythonも言った」パブリックアカウントをフォローし、「hand 35」と返信すると、この記事で使用されているサンプル文を無料でダウンロードできます。