質問編集履歴
4
文章ミス
title
CHANGED
File without changes
|
body
CHANGED
@@ -65,6 +65,6 @@
|
|
65
65
|
1 hanako 0002 2
|
66
66
|
```
|
67
67
|
|
68
|
-
のように引数に
|
68
|
+
のように引数に複数のキールートを指定することで2つ以上のカラムを出力するようしたいです。
|
69
69
|
強引にfor文を使えばできなくもなさそうですが、2重ループにも3重ループにもなりそうで処理的に無駄が多いような気がしてなりません...
|
70
70
|
そもそもjson_to_dfのような実装じゃなくて、もっと簡単な手法などがありましたらご教授お願いします。
|
3
文章ミス
title
CHANGED
File without changes
|
body
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
}]
|
26
26
|
```
|
27
27
|
|
28
|
-
上記のようなjsonデータを用いて、string型の任意のキーのルートを示す値を渡すことで、そのキーに対応するデータをDataFarmeとして実装したのが下記になります。
|
28
|
+
上記のようなjsonデータを用いて、string型の任意のキーのルートを示す値を渡すことで、そのキーに対応するデータをDataFarmeとして出力するように実装したのが下記になります。
|
29
29
|
|
30
30
|
```ここに言語を入力
|
31
31
|
def json_to_df(jsons, str_keys):
|
@@ -43,7 +43,7 @@
|
|
43
43
|
return pd.DataFrame(res, columns=[keys[-1]])
|
44
44
|
```
|
45
45
|
|
46
|
-
|
46
|
+
これを実行すると
|
47
47
|
```ここに言語を入力
|
48
48
|
res = json_to_df(jsons, "user.name")
|
49
49
|
print(res)
|
2
文章ミス
title
CHANGED
File without changes
|
body
CHANGED
@@ -29,7 +29,7 @@
|
|
29
29
|
|
30
30
|
```ここに言語を入力
|
31
31
|
def json_to_df(jsons, str_keys):
|
32
|
-
keys= str_keys.split("
|
32
|
+
keys= str_keys.split(".")
|
33
33
|
res = []
|
34
34
|
|
35
35
|
for json in jsons :
|
@@ -45,7 +45,7 @@
|
|
45
45
|
|
46
46
|
上記を実行すると、
|
47
47
|
```ここに言語を入力
|
48
|
-
res = json_to_df(jsons, "user
|
48
|
+
res = json_to_df(jsons, "user.name")
|
49
49
|
print(res)
|
50
50
|
|
51
51
|
# name
|
@@ -58,7 +58,7 @@
|
|
58
58
|
ただ、求めているものは、
|
59
59
|
|
60
60
|
```ここに言語を入力
|
61
|
-
res= json_to_df(jsons, ["user
|
61
|
+
res= json_to_df(jsons, ["user.name","user.id","user.status.level"])
|
62
62
|
print(res)
|
63
63
|
# name id level
|
64
64
|
0 taro 0001 1
|
1
変数名ミス
title
CHANGED
File without changes
|
body
CHANGED
@@ -32,14 +32,14 @@
|
|
32
32
|
keys= str_keys.split(",")
|
33
33
|
res = []
|
34
34
|
|
35
|
-
for
|
35
|
+
for json in jsons :
|
36
36
|
for i, key in enumerate(keys):
|
37
|
-
if key in
|
37
|
+
if key in json :
|
38
|
-
|
38
|
+
json = json [key]
|
39
39
|
else:
|
40
40
|
return None
|
41
41
|
if i >= len(keys) - 1:
|
42
|
-
res.append(
|
42
|
+
res.append(json)
|
43
43
|
return pd.DataFrame(res, columns=[keys[-1]])
|
44
44
|
```
|
45
45
|
|
@@ -65,6 +65,6 @@
|
|
65
65
|
1 hanako 0002 2
|
66
66
|
```
|
67
67
|
|
68
|
-
のように引数
|
68
|
+
のように引数に任意のキールートを指定することで2つ以上のカラムを出力するようしたいです。
|
69
69
|
強引にfor文を使えばできなくもなさそうですが、2重ループにも3重ループにもなりそうで処理的に無駄が多いような気がしてなりません...
|
70
70
|
そもそもjson_to_dfのような実装じゃなくて、もっと簡単な手法などがありましたらご教授お願いします。
|