趣味でApp storeのランキングをcsv形式で作成しようと考えております。
pythonに触るのは5年ぶりで、仕事もプログラミングとは関係ない素人です。
こちら↓のURLより取得したい情報のweb apiを作成し、jsonファイルを保存することはできました。
https://rss.itunes.apple.com/ja-jp
こちら↓のURLを参考にcsv化もできたのですが、使い物になりそうもありません。
「Python PandasでJSONファイルをCSVファイルに変換する方法」
https://qiita.com/fujisawakoichi/items/843d177b635f411d5b8d
目標として、こちら↓のWebアプリで作成できるような使いやすいcsvをpythonで自作できるようになりたいなあ、と考えています。
https://json-csv.com/
おそらくjsonがネストされており、csvにするのに、そこをどうにかしなければいけないのではないかと思っております。
↓を参考にして試しましたが、「deprecated」という表記のエラーが出たり、それを元に修正したら「Attribute error」が出たりとよく分かりませんでした。
「JSONをCSVに簡単に変換する方法」
https://qiita.com/yukiyoshimura/items/4c8d535ac79843d0fb0e
レベルが高くて読むのを断念したのが下記になります。
「ネストした JSON を CSV に自動変換する Python ライブラリを作った」
https://kawasin73.hatenablog.com/entry/2019/10/28/135116
「Convert nested JSON to CSV file in Python」
https://stackoverrun.com/ja/q/11335650
どなたか、ご教示いただけますと幸いです。
9月23日1:25追記
こちら、試しましたコードになります。
python
12 2Type "help", "copyright", "credits" or "license" for more information. 3>>> import pandas as pd 4>>> import json 5>>> from pandas.io.json import json_normalize 6>>> df = pd.read_json('explicit.json') 7>>> print(df) 8 feed 9author {'name': 'iTunes Store', 'uri': 'http://wwww.a... 10copyright Copyright © 2018 Apple Inc. All rights reserved. 11country jp 12icon http://itunes.apple.com/favicon.ico 13id https://rss.itunes.apple.com/api/v1/jp/ios-app... 14links [{'self': 'https://rss.itunes.apple.com/api/v1... 15results [{'artistName': 'Cross Forward Consulting, LLC... 16title Top Free iPhone Apps 17updated 2020-09-21T01:43:05.000-07:00 18>>> df_json = json_normalize(df['feed']) 19<stdin>:1: FutureWarning: pandas.io.json.json_normalize is deprecated, use pandas.json_normalize instead 20Traceback (most recent call last): 21 File "<stdin>", line 1, in <module> 22 File "C:\Users(質問投稿者苗字につき割愛)\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\util\_decorators.py", line 52, in wrapper 23 return alternative(*args, **kwargs) 24 File "C:\Users(質問投稿者苗字につき割愛)\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\io\json\_normalize.py", line 278, in _json_normalize 25 data = nested_to_record(data, sep=sep, max_level=max_level) 26 File "C:\Users(質問投稿者苗字につき割愛)\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\io\json\_normalize.py", line 82, in nested_to_record 27 for k, v in d.items(): 28AttributeError: 'str' object has no attribute 'items' 29>>> df_json = pandas.json_normalize(df['feed']) 30Traceback (most recent call last): 31 File "<stdin>", line 1, in <module> 32NameError: name 'pandas' is not defined 33>>>