質問編集履歴

7

table情報追加

2018/06/25 02:35

投稿

s_akira
s_akira

スコア15

test CHANGED
File without changes
test CHANGED
@@ -27,6 +27,10 @@
27
27
 
28
28
 
29
29
  cur.execute("SELECT カラム1, カラム2, カラム3, カラム4 from test")
30
+
31
+ #またはこっち
32
+
33
+ #cur.execute("SELECT * from test")
30
34
 
31
35
  results = cur.fetchall()
32
36
 
@@ -78,7 +82,7 @@
78
82
 
79
83
  printすると以下で表示されています。
80
84
 
81
- [(‘カラム2’, B), (‘カラム1’, ‘A’),(‘カラム4’, ‘D’),(‘カラム3, ‘C’)]
85
+ [Record(column1='A ', column2='B ', column3='C ', column4='D ')]
82
86
 
83
87
 
84
88
 
@@ -117,3 +121,43 @@
117
121
  ・言語:Python
118
122
 
119
123
  ・DB:postgresql
124
+
125
+ ・Create文:
126
+
127
+ create table test (
128
+
129
+ column1 character(10)
130
+
131
+ ,column2 character(10)
132
+
133
+ ,column3 character(10)
134
+
135
+ ,column4 character(10)
136
+
137
+ )
138
+
139
+ ・insert文
140
+
141
+ insert INTO test (
142
+
143
+ column1,
144
+
145
+ column2,
146
+
147
+ column3,
148
+
149
+ column4
150
+
151
+ )
152
+
153
+ VALUES
154
+
155
+ ( 'A',
156
+
157
+ 'B',
158
+
159
+ 'C',
160
+
161
+ 'D'
162
+
163
+ )

6

アドバイス後の修正追記

2018/06/25 02:35

投稿

s_akira
s_akira

スコア15

test CHANGED
File without changes
test CHANGED
@@ -10,11 +10,19 @@
10
10
 
11
11
 
12
12
 
13
+ コメントアウトした箇所を変更しましたら、順番がselectのとおりとなりました。(ありがとうございます。)
14
+
15
+ が、ファイル出力には、カラム名が出力されない状態です。
16
+
17
+
18
+
13
19
  ```Python
14
20
 
15
21
  conn = psycopg2.connect(hostとかの設定)
16
22
 
23
+ cur = conn.cursor(cursor_factory=psycopg2.extras.NamedTupleCursor)
24
+
17
- cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
25
+ #cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
18
26
 
19
27
 
20
28
 
@@ -28,7 +36,9 @@
28
36
 
29
37
  for row in results:
30
38
 
39
+ dict_result.append(row._asdict())
40
+
31
- dict_result.append(dict(row))
41
+ #dict_result.append(dict(row))
32
42
 
33
43
 
34
44
 

5

表示修正

2018/06/24 17:25

投稿

s_akira
s_akira

スコア15

test CHANGED
File without changes
test CHANGED
@@ -56,13 +56,13 @@
56
56
 
57
57
 
58
58
 
59
- "カラム2": B,
59
+ "カラム2": "B",
60
60
 
61
- "カラム1": A,
61
+ "カラム1": "A",
62
62
 
63
- "カラム4": D,
63
+ "カラム4": "D",
64
64
 
65
- "カラム3": C
65
+ "カラム3": "C"
66
66
 
67
67
 
68
68
 
@@ -76,13 +76,13 @@
76
76
 
77
77
 
78
78
 
79
-   ”カラム1":A,
79
+   ”カラム1":"A",
80
80
 
81
-   ”カラム2":B,
81
+   ”カラム2":"B",
82
82
 
83
-   ”カラム3":C,
83
+   ”カラム3":"C",
84
84
 
85
-   "カラム4":D
85
+   "カラム4":"D"
86
86
 
87
87
 
88
88
 

4

表記修正

2018/06/24 14:18

投稿

s_akira
s_akira

スコア15

test CHANGED
File without changes
test CHANGED
@@ -56,15 +56,19 @@
56
56
 
57
57
 
58
58
 
59
-   ”カラム2:B
59
+ "カラム2": B,
60
60
 
61
-   ”カラム1:A
61
+ "カラム1": A,
62
62
 
63
-   "カラム4:D"
63
+ "カラム4": D,
64
64
 
65
-   ”カラム3:C
65
+ "カラム3": C
66
66
 
67
67
 
68
+
69
+ printすると以下で表示されています。
70
+
71
+ [(‘カラム2’, B), (‘カラム1’, ‘A’),(‘カラム4’, ‘D’),(‘カラム3’, ‘C’)]
68
72
 
69
73
 
70
74
 
@@ -72,23 +76,15 @@
72
76
 
73
77
 
74
78
 
75
-   ”カラム1:A
79
+   ”カラム1":A,
76
80
 
77
-   ”カラム2:B
81
+   ”カラム2":B,
78
82
 
79
-   ”カラム3:C
83
+   ”カラム3":C,
80
84
 
81
-   "カラム4:D"
85
+   "カラム4":D
82
86
 
83
87
 
84
-
85
-
86
-
87
- 実際、printすると以下で表示されています。
88
-
89
- [(‘カラム2’, B), (‘カラム1’, ‘A’),(‘カラム4’, ‘D’),(‘カラム3’, ‘C’)]
90
-
91
-
92
88
 
93
89
 
94
90
 

3

リンク修正

2018/06/24 14:14

投稿

s_akira
s_akira

スコア15

test CHANGED
File without changes
test CHANGED
@@ -86,7 +86,7 @@
86
86
 
87
87
  実際、printすると以下で表示されています。
88
88
 
89
- [(‘カラム2’, B), (‘カラム1’, ‘A’), (‘カラム3’, ‘C’), (‘カラム4’, ‘D’)]
89
+ [(‘カラム2’, B), (‘カラム1’, ‘A’),(‘カラム4’, ‘D’),(‘カラム3’, ‘C’)]
90
90
 
91
91
 
92
92
 
@@ -94,11 +94,11 @@
94
94
 
95
95
  検索をかけているのですがうまくいきません。以下、参考にしているURLです。
96
96
 
97
- [https://note.nkmk.me/python-list-append-extend-insert/]
97
+ [Pythonでリスト(配列)に要素を追加](https://note.nkmk.me/python-list-append-extend-insert/)
98
98
 
99
- [https://qiita.com/itoufo/items/7306122497fd4f712bff]
99
+ [Python psycopg2 で dict形式で結果を取得](https://qiita.com/itoufo/items/7306122497fd4f712bff)
100
100
 
101
- [https://note.nkmk.me/python-dict-create/]
101
+ [Pythonで辞書を作成するdict()と波括弧、辞書内包表記](https://note.nkmk.me/python-dict-create/)
102
102
 
103
103
 
104
104
 

2

表記修正

2018/06/24 14:10

投稿

s_akira
s_akira

スコア15

test CHANGED
File without changes
test CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
 
54
54
 
55
- を上記コードで実行すると、以下のような感じでバラバラにされてしまいます。
55
+ を上記コードで実行すると、以下のような感じでバラバラにされてしまいます。(ファイル出力時)
56
56
 
57
57
 
58
58
 
@@ -86,7 +86,7 @@
86
86
 
87
87
  実際、printすると以下で表示されています。
88
88
 
89
- [(‘カラム2’, B), (‘カラム1’, ‘B’), (‘カラム4’, ‘D’)]
89
+ [(‘カラム2’, B), (‘カラム1’, ‘A’), (‘カラム3’, ‘C’), (‘カラム4’, ‘D’)]
90
90
 
91
91
 
92
92
 

1

リンク表示されていない箇所の変更、表示結果、sqlの変更

2018/06/24 14:06

投稿

s_akira
s_akira

スコア15

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- cur.execute("SELECT")
21
+ cur.execute("SELECT カラム1, カラム2, カラム3, カラム4 from test")
22
22
 
23
23
  results = cur.fetchall()
24
24
 
@@ -84,13 +84,21 @@
84
84
 
85
85
 
86
86
 
87
+ 実際、printすると以下で表示されています。
88
+
89
+ [(‘カラム2’, B), (‘カラム1’, ‘B’), (‘カラム4’, ‘D’)]
90
+
91
+
92
+
93
+
94
+
87
95
  検索をかけているのですがうまくいきません。以下、参考にしているURLです。
88
96
 
89
-  https://note.nkmk.me/python-list-append-extend-insert/
97
+ [https://note.nkmk.me/python-list-append-extend-insert/]
90
98
 
91
-  https://qiita.com/itoufo/items/7306122497fd4f712bff
99
+ [https://qiita.com/itoufo/items/7306122497fd4f712bff]
92
100
 
93
-  https://note.nkmk.me/python-dict-create/
101
+ [https://note.nkmk.me/python-dict-create/]
94
102
 
95
103
 
96
104