質問編集履歴
7
table情報追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,6 +13,8 @@
|
|
13
13
|
#cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
|
14
14
|
|
15
15
|
cur.execute("SELECT カラム1, カラム2, カラム3, カラム4 from test")
|
16
|
+
#またはこっち
|
17
|
+
#cur.execute("SELECT * from test")
|
16
18
|
results = cur.fetchall()
|
17
19
|
|
18
20
|
dict_result = []
|
@@ -38,7 +40,7 @@
|
|
38
40
|
"カラム3": "C"
|
39
41
|
}
|
40
42
|
printすると以下で表示されています。
|
41
|
-
[(
|
43
|
+
[Record(column1='A ', column2='B ', column3='C ', column4='D ')]
|
42
44
|
|
43
45
|
これを、以下のようにテーブルのカラムの順番で表示させたいです。
|
44
46
|
{
|
@@ -57,4 +59,24 @@
|
|
57
59
|
|
58
60
|
〜備考〜
|
59
61
|
・言語:Python
|
60
|
-
・DB:postgresql
|
62
|
+
・DB:postgresql
|
63
|
+
・Create文:
|
64
|
+
create table test (
|
65
|
+
column1 character(10)
|
66
|
+
,column2 character(10)
|
67
|
+
,column3 character(10)
|
68
|
+
,column4 character(10)
|
69
|
+
)
|
70
|
+
・insert文
|
71
|
+
insert INTO test (
|
72
|
+
column1,
|
73
|
+
column2,
|
74
|
+
column3,
|
75
|
+
column4
|
76
|
+
)
|
77
|
+
VALUES
|
78
|
+
( 'A',
|
79
|
+
'B',
|
80
|
+
'C',
|
81
|
+
'D'
|
82
|
+
)
|
6
アドバイス後の修正追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,16 +4,21 @@
|
|
4
4
|
selectで取得した結果(カラムの順番のまま)を、ファイルに出力したのですがどうしたらいいでしょうか。
|
5
5
|
※7行目の"dict"で順番が変更されてしまっていると思います。
|
6
6
|
|
7
|
+
コメントアウトした箇所を変更しましたら、順番がselectのとおりとなりました。(ありがとうございます。)
|
8
|
+
が、ファイル出力には、カラム名が出力されない状態です。
|
9
|
+
|
7
10
|
```Python
|
8
11
|
conn = psycopg2.connect(hostとかの設定)
|
12
|
+
cur = conn.cursor(cursor_factory=psycopg2.extras.NamedTupleCursor)
|
9
|
-
cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
|
13
|
+
#cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
|
10
14
|
|
11
15
|
cur.execute("SELECT カラム1, カラム2, カラム3, カラム4 from test")
|
12
16
|
results = cur.fetchall()
|
13
17
|
|
14
18
|
dict_result = []
|
15
19
|
for row in results:
|
20
|
+
dict_result.append(row._asdict())
|
16
|
-
dict_result.append(dict(row))
|
21
|
+
#dict_result.append(dict(row))
|
17
22
|
|
18
23
|
with open(filename, "w") as f:
|
19
24
|
json.dump(results, f, indent=4)
|
5
表示修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -27,20 +27,20 @@
|
|
27
27
|
|
28
28
|
を上記コードで実行すると、以下のような感じでバラバラにされてしまいます。(ファイル出力時)
|
29
29
|
{
|
30
|
-
"カラム2": B,
|
30
|
+
"カラム2": "B",
|
31
|
-
"カラム1": A,
|
31
|
+
"カラム1": "A",
|
32
|
-
"カラム4": D,
|
32
|
+
"カラム4": "D",
|
33
|
-
"カラム3": C
|
33
|
+
"カラム3": "C"
|
34
34
|
}
|
35
35
|
printすると以下で表示されています。
|
36
36
|
[(‘カラム2’, B), (‘カラム1’, ‘A’),(‘カラム4’, ‘D’),(‘カラム3’, ‘C’)]
|
37
37
|
|
38
38
|
これを、以下のようにテーブルのカラムの順番で表示させたいです。
|
39
39
|
{
|
40
|
-
”カラム1":A,
|
40
|
+
”カラム1":"A",
|
41
|
-
”カラム2":B,
|
41
|
+
”カラム2":"B",
|
42
|
-
”カラム3":C,
|
42
|
+
”カラム3":"C",
|
43
|
-
"カラム4":D
|
43
|
+
"カラム4":"D"
|
44
44
|
}
|
45
45
|
|
46
46
|
検索をかけているのですがうまくいきません。以下、参考にしているURLです。
|
4
表記修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -27,24 +27,22 @@
|
|
27
27
|
|
28
28
|
を上記コードで実行すると、以下のような感じでバラバラにされてしまいます。(ファイル出力時)
|
29
29
|
{
|
30
|
-
|
30
|
+
"カラム2": B,
|
31
|
-
|
31
|
+
"カラム1": A,
|
32
|
+
"カラム4": D,
|
32
|
-
|
33
|
+
"カラム3": C
|
33
|
-
”カラム3:C”
|
34
34
|
}
|
35
|
+
printすると以下で表示されています。
|
36
|
+
[(‘カラム2’, B), (‘カラム1’, ‘A’),(‘カラム4’, ‘D’),(‘カラム3’, ‘C’)]
|
35
37
|
|
36
38
|
これを、以下のようにテーブルのカラムの順番で表示させたいです。
|
37
39
|
{
|
38
|
-
”カラム1:A
|
40
|
+
”カラム1":A,
|
39
|
-
”カラム2:B
|
41
|
+
”カラム2":B,
|
40
|
-
”カラム3:C
|
42
|
+
”カラム3":C,
|
41
|
-
"カラム4:D
|
43
|
+
"カラム4":D
|
42
44
|
}
|
43
45
|
|
44
|
-
実際、printすると以下で表示されています。
|
45
|
-
[(‘カラム2’, B), (‘カラム1’, ‘A’),(‘カラム4’, ‘D’),(‘カラム3’, ‘C’)]
|
46
|
-
|
47
|
-
|
48
46
|
検索をかけているのですがうまくいきません。以下、参考にしているURLです。
|
49
47
|
[Pythonでリスト(配列)に要素を追加](https://note.nkmk.me/python-list-append-extend-insert/)
|
50
48
|
[Python psycopg2 で dict形式で結果を取得](https://qiita.com/itoufo/items/7306122497fd4f712bff)
|
3
リンク修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -42,13 +42,13 @@
|
|
42
42
|
}
|
43
43
|
|
44
44
|
実際、printすると以下で表示されています。
|
45
|
-
[(‘カラム2’, B), (‘カラム1’, ‘A’),
|
45
|
+
[(‘カラム2’, B), (‘カラム1’, ‘A’),(‘カラム4’, ‘D’),(‘カラム3’, ‘C’)]
|
46
46
|
|
47
47
|
|
48
48
|
検索をかけているのですがうまくいきません。以下、参考にしているURLです。
|
49
|
-
[https://note.nkmk.me/python-list-append-extend-insert/
|
49
|
+
[Pythonでリスト(配列)に要素を追加](https://note.nkmk.me/python-list-append-extend-insert/)
|
50
|
-
[https://qiita.com/itoufo/items/7306122497fd4f712bff
|
50
|
+
[Python psycopg2 で dict形式で結果を取得](https://qiita.com/itoufo/items/7306122497fd4f712bff)
|
51
|
-
[https://note.nkmk.me/python-dict-create/
|
51
|
+
[Pythonで辞書を作成するdict()と波括弧、辞書内包表記](https://note.nkmk.me/python-dict-create/)
|
52
52
|
|
53
53
|
すみませんが、よろしくお願い致します。
|
54
54
|
|
2
表記修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
|:--|:--:|--:|--:|
|
26
26
|
|A|B|C|D|
|
27
27
|
|
28
|
-
を上記コードで実行すると、以下のような感じでバラバラにされてしまいます。
|
28
|
+
を上記コードで実行すると、以下のような感じでバラバラにされてしまいます。(ファイル出力時)
|
29
29
|
{
|
30
30
|
”カラム2:B”
|
31
31
|
”カラム1:A”
|
@@ -42,7 +42,7 @@
|
|
42
42
|
}
|
43
43
|
|
44
44
|
実際、printすると以下で表示されています。
|
45
|
-
[(‘カラム2’, B), (‘カラム1’, ‘
|
45
|
+
[(‘カラム2’, B), (‘カラム1’, ‘A’), (‘カラム3’, ‘C’), (‘カラム4’, ‘D’)]
|
46
46
|
|
47
47
|
|
48
48
|
検索をかけているのですがうまくいきません。以下、参考にしているURLです。
|
1
リンク表示されていない箇所の変更、表示結果、sqlの変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
conn = psycopg2.connect(hostとかの設定)
|
9
9
|
cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
|
10
10
|
|
11
|
-
cur.execute("SELECT
|
11
|
+
cur.execute("SELECT カラム1, カラム2, カラム3, カラム4 from test")
|
12
12
|
results = cur.fetchall()
|
13
13
|
|
14
14
|
dict_result = []
|
@@ -41,10 +41,14 @@
|
|
41
41
|
"カラム4:D"
|
42
42
|
}
|
43
43
|
|
44
|
+
実際、printすると以下で表示されています。
|
45
|
+
[(‘カラム2’, B), (‘カラム1’, ‘B’), (‘カラム4’, ‘D’)]
|
46
|
+
|
47
|
+
|
44
48
|
検索をかけているのですがうまくいきません。以下、参考にしているURLです。
|
45
|
-
|
49
|
+
[https://note.nkmk.me/python-list-append-extend-insert/]
|
46
|
-
|
50
|
+
[https://qiita.com/itoufo/items/7306122497fd4f712bff]
|
47
|
-
|
51
|
+
[https://note.nkmk.me/python-dict-create/]
|
48
52
|
|
49
53
|
すみませんが、よろしくお願い致します。
|
50
54
|
|