質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

671閲覧

python 辞書化

ahoudori

総合スコア6

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/05/18 14:59

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

以上です。どうぞよろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2021/05/18 15:36

> 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"}」が何を表そうとしているのか分かりませんでした。
ahoudori

2021/05/18 15:40

リストではありません。 記載した文字列をどうにか辞書化またはリスト化してあとで簡単に出力できる方法がないかご質問させて頂いた次第です。
meg_

2021/05/18 15:47

> 文字列:{"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個羅列したものに見えますが? 「文字列」とおっしゃっているので、実際のデータはファイル等から読み込まれた文字列なのでしょうか?実際のデータを提示いただけますでしょうか?
ahoudori

2021/05/18 15:49

文字列と言っているデータはBeautiful Soupで取得した値になります。
meg_

2021/05/18 15:54

> 文字列と言っているデータはBeautiful Soupで取得した値になります。 上記を含めたコードを提示できますでしょうか?
ahoudori

2021/05/18 16:05 編集

以下の通りとなります。 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がお伝えしていた文字列になります。
meg_

2021/05/18 16:10

文字列ということは 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"}' になるということで合っていますでしょうか?
ahoudori

2021/05/18 16:12

シングルコーテーションはないかもですがその認識で間違いございません。
guest

回答1

0

ベストアンサー

Python

1a = '{"a":1,"b":2,"c":1,"d":"test"},{"a":3,"b":4,"c":5,"d":"test2"} ,{"a":6,"b":7,"c":8,"d":"test3"}' 2b = eval(a) 3c = b[0]['a'] 4print(c) 5# 1

投稿2021/05/18 16:15

meg_

総合スコア10605

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ahoudori

2021/05/20 14:02

ありがとうございます。想定通りの動作ができました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問