Python で辞書を文字列に変換する
Samyak Jain
2023年1月30日
-
Python で辞書を文字列に変換するには
json
モジュールを使う -
ast
ライブラリのstr()
およびliteral_eval()
関数を使用して、辞書を文字列に変換し、Python に戻する -
Python で
pickle
モジュールを使って辞書を文字列に変換して戻す
Python の辞書は、キーと値のペアに格納されたデータ値の順序付けられたコレクションです。中括弧内に要素を配置し、コンマで区切ることで作成できます。Python の文字列は、Unicode 文字のシーケンスです。文字を一重引用符または二重引用符で囲むことによって作成できます。
このチュートリアルでは、辞書を文字列に変換して Python に戻す方法について説明します。
Python で辞書を文字列に変換するには json
モジュールを使う
json
は JavaScript Object Notation
の頭文字です。このモジュールは、プレーンテキストのみで出力を生成します。また、クロスプラットフォームとクロスバージョンもサポートしています。
例えば、
import json
dict = {"Hello": 60}
s = json.dumps(dict)
print(s)
d = json.loads(s)
print(d)
出力:
{"Hello": 60}
{'Hello': 60}
関数 json.dumps()
は、パラメーターとして渡された json オブジェクトからデータを抽出し、文字列の形式で返します。関数 json.loads()
は、パラメータとして文字列を受け取り、json オブジェクトを返します。
ast
ライブラリの str()
および literal_eval()
関数を使用して、辞書を文字列に変換し、Python に戻する
この方法は、辞書の長さが長すぎない場合に使用できます。Python の str()
メソッドは、辞書をその文字列表現に変換するために使用されます。ast
ライブラリの literal_eval()
は、Python で文字列を辞書に変換するために使用されます。
例えば、
import ast
dict = {"Hello": 60}
str(dict)
ast.literal_eval(str(dict))
出力:
"{'Hello': 60}"
{'Hello': 60}
Python で pickle
モジュールを使って辞書を文字列に変換して戻す
pickle
モジュールの dumps()
関数は、Python で辞書をバイトストリームに変換するために使用されます。loads()
関数は逆のことを行います。つまり、バイトストリームを Python の辞書に変換するために使用されます。
例えば、
import pickle
dict = {"Hello": 60, "World": 100}
s = pickle.dumps(dict)
print(s)
d = pickle.loads(s)
print(d)
出力:
b'\x80\x04\x95\x19\x00\x00\x00\x00\x00\x00\x00}\x94(\x8c\x05Hello\x94K<\x8c\x05World\x94Kdu.'
{'Hello': 60, 'World': 100}
関連記事 - Python String
- Python で文字列からコンマを削除する
- Python で文字列を変数名に変換する
- Python 文字列の空白を削除する方法
- Python で文字列から数字を抽出する
- Python が文字列を日時 datetime に変換する方法
- Python 2 および 3 で文字列を小文字に変換する方法