回答編集履歴

2

コード修正

2020/03/03 10:50

投稿

can110
can110

スコア38266

test CHANGED
@@ -38,13 +38,13 @@
38
38
 
39
39
  # テストデータ。fetchallなりで取り出してきたもの
40
40
 
41
- fetch_dat = [({"num": 3, "str": "c"},), ({"num": 4, "str": "d"},)]
41
+ fetch_dat = [('{"num": 3, "str": "c"}',), ('{"num": 4, "str": "d"}',)]
42
42
 
43
43
 
44
44
 
45
45
  # タプルで包まれているので、包みを取り除く
46
46
 
47
- fetch_dat = [t[0] for t in fetch_dat]
47
+ fetch_dat = [json.loads(t[0]) for t in fetch_dat]
48
48
 
49
49
  print(fetch_dat) # [{'num': 3, 'str': 'c'}, {'num': 4, 'str': 'd'}]
50
50
 

1

コード修正

2020/03/03 10:50

投稿

can110
can110

スコア38266

test CHANGED
@@ -36,17 +36,23 @@
36
36
 
37
37
 
38
38
 
39
- # テストjsonデータ。追加したいレコード
39
+ # テストデータ。fetchallなりで取り出てきもの
40
40
 
41
- json_str = '[{"num": 3, "str": "c"}, {"num": 4, "str": "d"}]'
41
+ fetch_dat = [({"num": 3, "str": "c"},), ({"num": 4, "str": "d"},)]
42
42
 
43
+
44
+
45
+ # タプルで包まれているので、包みを取り除く
46
+
43
- json_dat = json.loads(json_str)
47
+ fetch_dat = [t[0] for t in fetch_dat]
48
+
49
+ print(fetch_dat) # [{'num': 3, 'str': 'c'}, {'num': 4, 'str': 'd'}]
44
50
 
45
51
 
46
52
 
47
53
  # クエリ文字列を作成
48
54
 
49
- columns = tuple(json_dat[0].keys())
55
+ columns = tuple(fetch_dat[0].keys())
50
56
 
51
57
  params = ['?' for _ in range(len(columns))]
52
58
 
@@ -58,7 +64,7 @@
58
64
 
59
65
  # クエリに渡すデータ。値をタプルにしたリスト
60
66
 
61
- datas = [tuple(e.values()) for e in json_dat]
67
+ datas = [tuple(e.values()) for e in fetch_dat]
62
68
 
63
69
 
64
70