前提・実現したいこと
Python 3です。
1行にリスト型の形式で記載したデータのテキストファイルがあります。
一つ一つの要素は全て辞書型となるように記載しています。
出来ればこのまま単純にデータを読み込んで、全ての要素が辞書型となる
リスト型の変数に代入したいです。
例:sample.txt
[{"id": "3", "name": "Jone", "age": "23"}, {"id": "1", "name": "Anne", "age": "17"}, {"id": "2", "name": "Ken", "age": "21"}]
発生している問題・エラーメッセージ
テキストファイルからread()関数で読み込むと、読み込んだデータは文字列型となるため、 変数に代入しても要素の一つ一つが辞書型にはなりません。
該当のソースコード
sample_txt = "sample.txt" data_list = [] with open(sample_txt, "r") as f: data_list = f.read()
試したこと
データの前後に付いている '[' と ']' を取り除き、{}単位で要素をsplit関数で分割して
リスト型の変数に代入しましたが、一つ一つの要素を辞書型に変換できません。
with open(sample_txt, "r") as f: line = f.read() line_str = line.replace("[", "").replace("]", "").replace("},", "}},") data_list = re.split(r"},", line_str)
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/30 08:13
2018/05/30 08:26