pythonで以下のような文字列を辞書化して値を取り出すソースコードをご教示頂きたいです。
文字列:{"a":1,"b":2,"c":1,"d":"test"},{"a":3,"b":4,"c":5,"d":"test2"} ,{"a":6,"b":7,"c":8,"d":"test3"}
想定取得方法(ほかにもっと良い方法があれば)
test[1]["d"]
出力結果:test2
以上です。どうぞよろしくお願い致します。
> pythonで以下のような文字列を辞書化して値を取り出すソースコードをご教示頂きたいです。
やりたいことがよく分かりません。「値を取り出す」対象は辞書のリストですか?辞書を内包した辞書ですか?質問の表記「文字列:{"a":1,"b":2,"c":1,"d":"test"},{"a":3,"b":4,"c":5,"d":"test2"} ,{"a":6,"b":7,"c":8,"d":"test3"}」が何を表そうとしているのか分かりませんでした。
リストではありません。
記載した文字列をどうにか辞書化またはリスト化してあとで簡単に出力できる方法がないかご質問させて頂いた次第です。
> 文字列:{"a":1,"b":2,"c":1,"d":"test"},{"a":3,"b":4,"c":5,"d":"test2"} ,{"a":6,"b":7,"c":8,"d":"test3"}
上記はpythonの辞書を3個羅列したものに見えますが?
「文字列」とおっしゃっているので、実際のデータはファイル等から読み込まれた文字列なのでしょうか?実際のデータを提示いただけますでしょうか?
文字列と言っているデータはBeautiful Soupで取得した値になります。
> 文字列と言っているデータはBeautiful Soupで取得した値になります。
上記を含めたコードを提示できますでしょうか?
以下の通りとなります。
soup = BeautifulSoup(driver.page_source, 'html.parser')
array_html = soup.prettify().split(';')
for item_html in array_html:
if item_html.find('test') >= 0:
test = item_html.split('"test":')
test2 = test[1][:-1].replace("[", "").replace("]", "")
test2がお伝えしていた文字列になります。
文字列ということは print(test2) の結果は '{"a":1,"b":2,"c":1,"d":"test"},{"a":3,"b":4,"c":5,"d":"test2"} ,{"a":6,"b":7,"c":8,"d":"test3"}' になるということで合っていますでしょうか?
シングルコーテーションはないかもですがその認識で間違いございません。
回答1件
あなたの回答
tips
プレビュー