teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

コードを掲載し、URLをリンクにいたしました。

2020/09/22 16:30

投稿

TsutomuTanaka
TsutomuTanaka

スコア13

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