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

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

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

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

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

Q&A

解決済

1回答

1033閲覧

Pythonでの辞書の扱いについて

kaki.k

総合スコア19

Python

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

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

0グッド

0クリップ

投稿2018/12/14 07:59

現在、Pythonを使っております。
googlemapAPIを使い、クチコミを収集した後、形態素解析を行いたいのですが、収集の部分でわからないことができました。

Python

1# Google公式モジュールの外部googlemapsをインポート(googlemapsのディレクトリ内にPlaces APIのモジュールファイルがある) 2# テキスト出力を整える標準ライブラリpprintをインポート 3import googlemaps 4import pprint 5 6# 事前に取得したAPI_KEYの設定 7gmaps = googlemaps.Client(key = "AIzaSyCjc0xxgy1oBS0F4uQgru0AxTrhZW-qoMs") 8 9place_id = "ChIJeQiJANeMGGAR8zaGpVXXXz4" 10print(place_id) 11 12#places.py内のdetailsを呼び出し(モジュール名はplaceなだけで実際はdetails) 13results = gmaps.place(place_id,language = "ja") 14 15pprint.pprint(results) 16 17#クロールしたデータを表示 18print("place_id:" + str(place_id) + "から計5件のクチコミデータを収集し、データベースに格納しました。") 19print("クロールしたクチコミ表示します。") 20print("=============================================================================================") 21 22#pprint.pprint(results) 23pprint.pprint(results['result']['reviews'][0]['text'])

以下、出力結果です。

ChIJeQiJANeMGGAR8zaGpVXXXz4 {'html_attributions': [], 'result': {'address_components': [{'long_name': '6F/7F', 'short_name': '6F/7F', 'types': ['floor']}, {'long_name': '160-0023', 'short_name': '160-0023', 'types': ['postal_code']}], 'adr_address': '<span class="country-name">日本</span>、<span ' 'class="postal-code">〒160-0023</span> <span ' 'class="region">東京都</span><span ' 'class="street-address">新宿区西新宿1丁目3−1 ' '新宿サンフラワービル</span> 6F/7F', 'formatted_address': '日本、〒160-0023 東京都新宿区西新宿1丁目3−1 新宿サンフラワービル ' '6F/7F', 'formatted_phone_number': '03-3348-8676', 'geometry': {'location': {'lat': 35.6933679, 'lng': 139.6988554}, 'viewport': {'northeast': {'lat': 35.6947168802915, 'lng': 139.7002043802915}, 'southwest': {'lat': 35.6920189197085, 'lng': 139.6975064197085}}}, 'icon': 'https://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png', 'id': '845f73e8850d8500fb830f6f7ee5810d63eaf1e2', 'international_phone_number': '+81 3-3348-8676', 'name': 'やきにく亭 六歌仙', 'opening_hours': {'open_now': True, 'periods': [{'close': {'day': 1, 'time': '0500'}, 'open': {'day': 0, 'time': '1100'}}, {'close': {'day': 0, 'time': '0500'}, 'open': {'day': 6, 'time': '1100'}}], 'weekday_text': ['月曜日: 11時00分~5時00分', '火曜日: 11時00分~5時00分', '水曜日: 11時00分~5時00分', '木曜日: 11時00分~5時00分', '金曜日: 11時00分~5時00分', '土曜日: 11時00分~5時00分', '日曜日: 11時00分~5時00分']}, 'photos': [{'height': 3024, 'html_attributions': ['<a ' 'href="https://maps.google.com/maps/contrib/100838059437191233064/photos">@ ' 'Your Service TICK.Y</a>'], 'photo_reference': 'CmRaAAAAK1IVdP5iqgzCoih7Rxb4aGiPTAXei1hsh4wRE_NFiXplafnzyycYWKGexnkUCretWRgQZYQTaC8FjcOsxDINgUXq3HLBbjCo9ixEEqZIE73IaGHr83uSogVufgRKORqlEhBqsq6x8K3lTFZkUKgbRnALGhSqFwFBPPeqJx5-6obY7irs7b2b4A', 'width': 4032}, {'height': 3024, 'html_attributions': ['<a ' 'href="https://maps.google.com/maps/contrib/110503178894234777463/photos">Sirinart ' 'Sukpaen</a>'], 'photo_reference': 'CmRaAAAAMigHRE_H1fvrGrAJwO-A_W8ivC3hUm3b-a73_SOBM6X3AU9AoIjHnjS-qc0Grg4HYKUVPwjTgjnn_ptq9JcfkxhrT_3ySlher9eAJCIB-95Hx2drM7zEF_L18Mrf9VpoEhC1stbSphdmOSpOQYAqxOEcGhTMrtOHKh0yg3hmboTZv-2AXxtdkw', 'width': 4032}], 'place_id': 'ChIJeQiJANeMGGAR8zaGpVXXXz4', 'plus_code': {'compound_code': 'MMVX+8G 日本、東京', 'global_code': '8Q7XMMVX+8G'}, 'price_level': 3, 'rating': 4.4, 'reference': 'ChIJeQiJANeMGGAR8zaGpVXXXz4', 'reviews': [{'author_name': 'わりひま', 'author_url': 'https://www.google.com/maps/contrib/102596340940577526074/reviews', 'language': 'ja', 'profile_photo_url': 'https://lh3.googleusercontent.com/-ImGYEtjeGvM/AAAAAAAAAAI/AAAAAAAAAAA/AGDgw-icT_eg8spdDVekCdZCIii66ROh1A/s128-c0x00000000-cc-rp-mo/photo.jpg', 'rating': 2, 'relative_time_description': '1 か月前', 'text': 'すき焼きが食べたくて調べていたら六歌仙が出てきたので行ってみました。すき焼きがコースでしかなく、一人8000円とコスパ悪いなと感じました。お肉がでかくてインパクトありましたが、正直食べ切れませんでした。コースよりも単品で食べたかったのですが単品注文がなく残念でした。お肉も美味しかったですが、期待以上でもなく期待以下でもない感じでした。', 'time': 1540512083}, {'author_name': 'R S', 'author_url': 'https://www.google.com/maps/contrib/111594010914201138339/reviews', 'language': 'ja', 'profile_photo_url': 'https://lh6.googleusercontent.com/-VAofMyevDYQ/AAAAAAAAAAI/AAAAAAAAAAA/AGDgw-hlARmjySldZQVcXxdXYky351q1IA/s128-c0x00000000-cc-rp-mo-ba3/photo.jpg', 'rating': 3, 'relative_time_description': '3 か月前', 'text': 'なかなか良コスパかなぁ。いやそうでもないかなぁ。一番安いコースなら8000円で2時間、死ぬほど肉を食えるので、食べ盛りとか大食いとか、そういう人たちにはおすすめ。でも予約が直前すぎると取りにくいのと中国人観光客が多すぎるのでそこのバランスを見てって感じですかね。', 'time': 1535455335}, {'author_name': '本田宗一', 'author_url': 'https://www.google.com/maps/contrib/108679199543695673976/reviews', 'language': 'ja', 'profile_photo_url': 'https://lh6.googleusercontent.com/-FIXG6ikwqxE/AAAAAAAAAAI/AAAAAAAAAAA/AGDgw-jbAiBVdSz-3nf935lh_cbUlACR4g/s128-c0x00000000-cc-rp-mo-ba5/photo.jpg', 'rating': 4, 'relative_time_description': '1 か月前', 'text': '会社の人と行きました。\n' '焼いてる奴は確か松阪牛のカルビだったと思います。とても旨かった(*^^*)\n' '店内、和な感じで店員さんは和服姿でとてもキレイでした。\n' 'また行ってみたいのですが、結構お高いので頻繁には行けないなぁと思いました。', 'time': 1540633410}, {'author_name': 'tomohiro oohata', 'author_url': 'https://www.google.com/maps/contrib/100831211196169257723/reviews', 'language': 'ja', 'profile_photo_url': 'https://lh6.googleusercontent.com/-_FdCEB6vjMg/AAAAAAAAAAI/AAAAAAAAAAA/AGDgw-gGeSTcFahem6ajsCu0COjmhkCQZA/s128-c0x00000000-cc-rp-mo-ba6/photo.jpg', 'rating': 3, 'relative_time_description': '3 か月前', 'text': '高級な焼肉店。\n' 'ランチはリーズナブルにいただける。\n' '\n' 'ランチでMIX御膳(1620円)いただきました。\n' 'カルビ3枚、ハラミ4枚のセット。\n' '美味しいお肉でした。\n' 'サラダやナムル、鶏肉もついてボリューム満点。\n' '\n' 'ごはん、スープお代わり自由。\n' '食後にはドリンクもある。', 'time': 1536202250}, {'author_name': 'CHAN BEA', 'author_url': 'https://www.google.com/maps/contrib/107143121036672060701/reviews', 'language': 'ja', 'profile_photo_url': 'https://lh3.googleusercontent.com/a-/AN66SAy_kQrXJqAcorhsA2ghSH4ww08BwQKpFeA9Y0iX=s128-c0x00000000-cc-rp-mo', 'rating': 5, 'relative_time_description': '1 週間前', 'text': 'お肉が柔らかくてとっても美味しい!!\n\n贅沢したいときに行きたいお店です', 'time': 1544102691}], 'scope': 'GOOGLE', 'types': ['restaurant', 'point_of_interest', 'food', 'establishment'], 'url': 'https://maps.google.com/?cid=4494547715988272883', 'utc_offset': 540, 'vicinity': '新宿区西新宿1丁目3−1 6F/7F 新宿サンフラワービル', 'website': 'http://www.rokkasen.co.jp/'}, 'status': 'OK'} place_id:ChIJeQiJANeMGGAR8zaGpVXXXz4から計5件のクチコミデータを収集し、データベースに格納しました。 クロールしたクチコミを含む全データを表示します。 ============================================================================================= 'すき焼きが食べたくて調べていたら六歌仙が出てきたので行ってみました。すき焼きがコースでしかなく、一人8000円とコスパ悪いなと感じました。お肉がでかくてインパクトありましたが、正直食べ切れませんでした。コースよりも単品で食べたかったのですが単品注文がなく残念でした。お肉も美味しかったですが、期待以上でもなく期待以下でもない感じでした。'

見にくくて申し訳ないのですが、出力結果の下から5行目より上が
pprint.pprint(results)
の出力結果で、
下から1行目が
pprint.pprint(results['result']['reviews'][0]['text'])
の部分の出力結果です。

やりたいこと

自分はresultsの中に格納された'text'の部分だけをすべて出力させたいのですが、クチコミの1番上のものしか出力されませんでした。
出力の部分の

pprint.pprint(results['result']['reviews'][0]['text'])

の部分がダメだと思いfor文など使い、解決を試みたのですが、初心者で知識不足なため上手くできませんでした。
よろしければ、正確な出力の仕方を教えていただければ幸いです。
よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Python

1for v in results['result']['reviews']: 2 pprint.pprint(v['text'])

投稿2018/12/14 08:40

kazto

総合スコア7196

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

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

kaki.k

2018/12/14 15:33

ありがとうございます! 解決しました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問