質問編集履歴

7

7. ソースコードなどの可読性を高めるために、ボールドや水平線などを入れた。

2019/12/03 16:15

投稿

rare-sugar
rare-sugar

スコア4

test CHANGED
File without changes
test CHANGED
@@ -10,11 +10,11 @@
10
10
 
11
11
  i. 環境
12
12
 
13
- OS: Windows 10 Pro
13
+ 1. OS: Windows 10 Pro
14
-
14
+
15
- Python環境 Anaconda (version 1.7.2)
15
+ 2. Python環境 Anaconda (version 1.7.2)
16
-
16
+
17
- Excel MS Office 2013 Pro
17
+ 3. Excel MS Office 2013 Pro
18
18
 
19
19
 
20
20
 
@@ -28,7 +28,7 @@
28
28
 
29
29
 
30
30
 
31
- A: 実現したいこと
31
+ A: ### 実現したいこと
32
32
 
33
33
 
34
34
 
@@ -36,7 +36,7 @@
36
36
 
37
37
 
38
38
 
39
- B 行列数とデータ型
39
+ B ### 列数とデータ型
40
40
 
41
41
 
42
42
 
@@ -54,6 +54,8 @@
54
54
 
55
55
  1. **SQLとfor文で複数の画像を一挙にスクレイピング**し、いったんデータベース(SQLite)に格納するところまでは、問題なく成功。
56
56
 
57
+
58
+
57
59
  2. それらの画像データを読み込みExcelへ書き出しする時点で、失敗する。jupyter notebook上に表示させるくらいは可能だが、Excelの場合はやはりExcel独特のセル処理の問題があるので、何列何行目のセルにきちんと入らないとExcelデータにならないようです。
58
60
 
59
61
 
@@ -154,7 +156,7 @@
154
156
 
155
157
  {' id':10', 'Structures':'10.png ':''}]
156
158
 
157
- ---
159
+ ---------------------------------------------------------------------
158
160
 
159
161
  **d = {}
160
162
 
@@ -176,7 +178,7 @@
176
178
 
177
179
  ```
178
180
 
179
-
181
+ ---------------------------------------------------------------------
180
182
 
181
183
  ### 試したこと
182
184
 
@@ -260,7 +262,9 @@
260
262
 
261
263
 
262
264
 
263
- ---
265
+ ------------------------------------------------------------------------
266
+
267
+
264
268
 
265
269
  for row in wspp.values:
266
270
 

6

6. ソースコードなどの可読性を高めるために、ボールドや水平線などを入れた。

2019/12/03 16:15

投稿

rare-sugar
rare-sugar

スコア4

test CHANGED
File without changes
test CHANGED
@@ -52,21 +52,21 @@
52
52
 
53
53
 
54
54
 
55
- 1. SQLとfor文で複数の画像を一挙にスクレイピングし、いったんデータベース(SQLite)に格納するところまでは、問題なく成功。
55
+ 1. **SQLとfor文で複数の画像を一挙にスクレイピング**し、いったんデータベース(SQLite)に格納するところまでは、問題なく成功。
56
56
 
57
57
  2. それらの画像データを読み込みExcelへ書き出しする時点で、失敗する。jupyter notebook上に表示させるくらいは可能だが、Excelの場合はやはりExcel独特のセル処理の問題があるので、何列何行目のセルにきちんと入らないとExcelデータにならないようです。
58
58
 
59
59
 
60
60
 
61
- 3. データ型を「リスト型」にすれば、for文でそのリストの中の画像を【add_image】メソッドで順次複数の画像を複数のセルの中に入れることは可能。現に、それでうまくいっています。
61
+ 3. データ型を「リスト型」にすれば、for文でそのリストの中の画像を【**add_image**】メソッドで順次複数の画像を複数のセルの中に入れることは可能。現に、それでうまくいっています。
62
-
63
-
64
-
62
+
63
+
64
+
65
- 4. 目的はリストではなくあくまでもデータベースとしてSQL文で上記の処理を実現したいのです。なにしろ、扱う画像ファイルは何千何万とあるのですから、何千何万ものリストを手入力で記述することは現実的ではありません。
65
+ 4. 目的はリストではなく**あくまでもデータベースとしてSQL文で上記の処理を実現したい**のです。なにしろ、扱う画像ファイルは何千何万とあるのですから、何千何万ものリストを手入力で記述することは現実的ではありません。
66
-
67
-
68
-
66
+
67
+
68
+
69
- 5. リストやタプルを変数化して短いコードで膨大な画像をExcelに格納できるのであればそれでもいいですから、とにかくこれらの画像をExcelシートのセルに入れるPythonコーディングをお教えください。
69
+ 5. **リストやタプルを変数化して短いコードで膨大な画像をExcelに格納できるのであればそれでもいい**ですから、とにかくこれらの画像をExcelシートのセルに入れるPythonコーディングをお教えください。
70
70
 
71
71
 
72
72
 
@@ -154,23 +154,21 @@
154
154
 
155
155
  {' id':10', 'Structures':'10.png ':''}]
156
156
 
157
- -------------------------------中略-------------------------
157
+ ---
158
-
159
-
160
-
158
+
161
- # d = {}
159
+ **d = {}
162
-
160
+
163
- # for x in xlImages
161
+ for x in xlImages
164
-
162
+
165
- # if x not in d.keys():
163
+ if x not in d.keys():
166
-
164
+
167
- # d[x] = 1
165
+ d[x] = 1
168
-
166
+
169
- # else:
167
+ else:
170
-
168
+
171
- # d[x] += 1
169
+ d[x] += 1
170
+
172
-
171
+ **
173
-
174
172
 
175
173
  wbbk.save('New_myImages.xlsx')
176
174
 
@@ -262,6 +260,8 @@
262
260
 
263
261
 
264
262
 
263
+ ---
264
+
265
265
  for row in wspp.values:
266
266
 
267
267
  sqlstr = "INSERT INTO TABLE1 ('id, 'Structures') VALUES(?,?)"

5

5. ソースコードとスクレイピングを可視化するために、アセチルカルニチン(カルニチン誘導体の一種)の画像データを添付。

2019/12/03 15:30

投稿

rare-sugar
rare-sugar

スコア4

test CHANGED
File without changes
test CHANGED
@@ -359,3 +359,7 @@
359
359
 
360
360
 
361
361
  ### 補足情報(FW/ツールのバージョンなど)
362
+
363
+ !["1.png"アセチルカルニチン(カルニチン誘導体の一種)の画像データ](322f2fe988e6fde3462fb2824970be26.png)
364
+
365
+ NCBI(米国立生物工学情報センター)の化学医学データベースサイトPubChemからidと2D画像データ(分子模型、化学組成)をスクレイピング。ちなみに、その1番目は、Acetylcarnitine。アセチルカルニチン(カルニチン誘導体の一種)で、2D画像データも参考のためUpしておきます。URLは、[リンク内容](https://pubchem.ncbi.nlm.nih.gov/compound/1)

4

4. ソースコードを<code>ボタンよりマークアップ開始

2019/12/03 14:50

投稿

rare-sugar
rare-sugar

スコア4

test CHANGED
File without changes
test CHANGED
@@ -108,7 +108,7 @@
108
108
 
109
109
  # SQLを実行
110
110
 
111
- ```Python & SQL
111
+ ```SQL
112
112
 
113
113
  c.execute(DROP_TABLE)
114
114
 
@@ -228,7 +228,7 @@
228
228
 
229
229
  (id INTEGER PRIMARY KEY,
230
230
 
231
- Structures BLOB)''
231
+ Structures BLOB)'''
232
232
 
233
233
 
234
234
 
@@ -244,7 +244,7 @@
244
244
 
245
245
  c.execute(DROP_TABLE)
246
246
 
247
- c.execute(CREATE_ TABLE1)
247
+ c.execute(CREATE_TABLE1)
248
248
 
249
249
 
250
250
 

3

3. ソースコードを<code>ボタンよりマークアップ開始

2019/12/03 14:26

投稿

rare-sugar
rare-sugar

スコア4

test CHANGED
File without changes
test CHANGED
@@ -100,146 +100,152 @@
100
100
 
101
101
  # 「カーソル」を取得
102
102
 
103
+ ```ここに言語を入力
104
+
103
105
  c = conn.cursor()
104
106
 
107
+ ```
108
+
105
109
  # SQLを実行
106
110
 
107
- ```ここに言語を入力
111
+ ```Python & SQL
108
112
 
109
113
  c.execute(DROP_TABLE)
110
114
 
115
+ c.execute(CREATE_TABLE1)
116
+
117
+ ```
118
+
119
+ エラーメッセージ
120
+
121
+
122
+
123
+ OSError: cannot identify image file '11.png'
124
+
125
+
126
+
127
+ ### 該当のソースコード
128
+
129
+ ```Python
130
+
131
+ from openpyxl.drawing.image import Image
132
+
133
+ from openpyxl.styles import Alignment
134
+
135
+
136
+
137
+ xlImages = [{'id':1', 'Structures':'1.png'},
138
+
139
+ {' id':2', 'Structures':'2.png,
140
+
141
+ {' id':3', 'Structures':'3.png,
142
+
143
+ {' id':4', 'Structures':'4.png,
144
+
145
+ {' id':5', 'Structures':'5.png,
146
+
147
+ {' id':6', 'Structures':'6.png,
148
+
149
+ {' id':7', 'Structures':'7.png,
150
+
151
+ {' id':8', 'Structures':'8.png,
152
+
153
+ {' id':9', 'Structures':'9.png,
154
+
155
+ {' id':10', 'Structures':'10.png ':''}]
156
+
157
+ -------------------------------中略-------------------------
158
+
159
+
160
+
161
+ # d = {}
162
+
163
+ # for x in xlImages
164
+
165
+ # if x not in d.keys():
166
+
167
+ # d[x] = 1
168
+
169
+ # else:
170
+
171
+ # d[x] += 1
172
+
173
+
174
+
175
+ wbbk.save('New_myImages.xlsx')
176
+
177
+
178
+
179
+ ```
180
+
181
+
182
+
183
+ ### 試したこと
184
+
185
+
186
+
187
+ ```Python
188
+
189
+
190
+
191
+ import sqlite3
192
+
193
+ import openpyxl as px
194
+
195
+ import sqlalchemy as sa
196
+
197
+ import requests
198
+
199
+ import cv2
200
+
201
+ import pandas as pd
202
+
203
+ import numpy as np
204
+
205
+
206
+
207
+ dbName = 'pyDataBase.db'
208
+
209
+ dbPath = r'C:\Users\shin\python_sqlite3\PubChem\pyDataBase.db'
210
+
211
+
212
+
213
+ xlBook = 'xlDataBase.xlsx'
214
+
215
+ xlPath = r'C:\Users\shin\python_sqlite3\PubChem\xlDataBase.xlsx'
216
+
217
+
218
+
219
+ # テーブル作成をやり直したいときに備えます
220
+
221
+ DROP_TABLE = "DROP TABLE IF EXISTS TABLE1"
222
+
223
+
224
+
225
+ # テーブルの定義と作成
226
+
227
+ CREATE_ TABLE1 = '''CREATE TABLE TABLE1
228
+
229
+ (id INTEGER PRIMARY KEY,
230
+
231
+ Structures BLOB)''
232
+
233
+
234
+
235
+ # データベースを新規作成(DBに【接続】)
236
+
237
+ conn = sqlite3.connect(' pyDataBase.db ')
238
+
239
+ # 「カーソル」を取得
240
+
241
+ c = conn.cursor()
242
+
243
+ # SQLを実行
244
+
245
+ c.execute(DROP_TABLE)
246
+
111
247
  c.execute(CREATE_ TABLE1)
112
248
 
113
- ```
114
-
115
-
116
-
117
-
118
-
119
- エラーメッセージ
120
-
121
-
122
-
123
- OSError: cannot identify image file '11.png'
124
-
125
-
126
-
127
- ### 該当のソースコード
128
-
129
-
130
-
131
- from openpyxl.drawing.image import Image
132
-
133
- from openpyxl.styles import Alignment
134
-
135
-
136
-
137
- xlImages = [{'id':1', 'Structures':'1.png'},
138
-
139
- {' id':2', 'Structures':'2.png,
140
-
141
- {' id':3', 'Structures':'3.png,
142
-
143
- {' id':4', 'Structures':'4.png,
144
-
145
- {' id':5', 'Structures':'5.png,
146
-
147
- {' id':6', 'Structures':'6.png,
148
-
149
- {' id':7', 'Structures':'7.png,
150
-
151
- {' id':8', 'Structures':'8.png,
152
-
153
- {' id':9', 'Structures':'9.png,
154
-
155
- {' id':10', 'Structures':'10.png ':''}]
156
-
157
- -------------------------------中略-------------------------------------
158
-
159
- # d = {}
160
-
161
- # for x in xlImages
162
-
163
- # if x not in d.keys():
164
-
165
- # d[x] = 1
166
-
167
- # else:
168
-
169
- # d[x] += 1
170
-
171
-
172
-
173
- wbbk.save('New_myImages.xlsx')
174
-
175
-
176
-
177
-
178
-
179
-
180
-
181
- ### 試したこと
182
-
183
-
184
-
185
- import sqlite3
186
-
187
- import openpyxl as px
188
-
189
- import sqlalchemy as sa
190
-
191
- import requests
192
-
193
- import cv2
194
-
195
- import pandas as pd
196
-
197
- import numpy as np
198
-
199
-
200
-
201
- dbName = 'pyDataBase.db'
202
-
203
- dbPath = r'C:\Users\shin\python_sqlite3\PubChem\pyDataBase.db'
204
-
205
-
206
-
207
- xlBook = 'xlDataBase.xlsx'
208
-
209
- xlPath = r'C:\Users\shin\python_sqlite3\PubChem\xlDataBase.xlsx'
210
-
211
-
212
-
213
- # テーブル作成をやり直したいときに備えます
214
-
215
- DROP_TABLE = "DROP TABLE IF EXISTS TABLE1"
216
-
217
-
218
-
219
- # テーブルの定義と作成
220
-
221
- CREATE_ TABLE1 = '''CREATE TABLE TABLE1
222
-
223
- (id INTEGER PRIMARY KEY,
224
-
225
- Structures BLOB)''
226
-
227
-
228
-
229
- # データベースを新規作成(DBに【接続】)
230
-
231
- conn = sqlite3.connect(' pyDataBase.db ')
232
-
233
- # 「カーソル」を取得
234
-
235
- c = conn.cursor()
236
-
237
- # SQLを実行
238
-
239
- c.execute(DROP_TABLE)
240
-
241
- c.execute(CREATE_ TABLE1)
242
-
243
249
 
244
250
 
245
251
  # 【INSERT文】に挿入するナマ・データを直接記述することはセキュリティ面で問題になるので、プレースホルダの?で代替
@@ -346,4 +352,10 @@
346
352
 
347
353
  conn.close() # 接続解除
348
354
 
355
+
356
+
357
+ ```
358
+
359
+
360
+
349
361
  ### 補足情報(FW/ツールのバージョンなど)

2

2. ソースコードを<code>ボタンよりマークアップ開始_2

2019/12/03 14:16

投稿

rare-sugar
rare-sugar

スコア4

test CHANGED
File without changes
test CHANGED
@@ -92,12 +92,144 @@
92
92
 
93
93
  # データベースを新規作成(DBに【接続】)
94
94
 
95
+ ```Python
96
+
97
+ conn = sqlite3.connect('pyDataBase.db')
98
+
99
+ ```
100
+
101
+ # 「カーソル」を取得
102
+
103
+ c = conn.cursor()
104
+
105
+ # SQLを実行
106
+
95
107
  ```ここに言語を入力
96
108
 
109
+ c.execute(DROP_TABLE)
110
+
97
- conn = sqlite3.connect('pyDataBase.db')
111
+ c.execute(CREATE_ TABLE1)
98
112
 
99
113
  ```
100
114
 
115
+
116
+
117
+
118
+
119
+ エラーメッセージ
120
+
121
+
122
+
123
+ OSError: cannot identify image file '11.png'
124
+
125
+
126
+
127
+ ### 該当のソースコード
128
+
129
+
130
+
131
+ from openpyxl.drawing.image import Image
132
+
133
+ from openpyxl.styles import Alignment
134
+
135
+
136
+
137
+ xlImages = [{'id':1', 'Structures':'1.png'},
138
+
139
+ {' id':2', 'Structures':'2.png,
140
+
141
+ {' id':3', 'Structures':'3.png,
142
+
143
+ {' id':4', 'Structures':'4.png,
144
+
145
+ {' id':5', 'Structures':'5.png,
146
+
147
+ {' id':6', 'Structures':'6.png,
148
+
149
+ {' id':7', 'Structures':'7.png,
150
+
151
+ {' id':8', 'Structures':'8.png,
152
+
153
+ {' id':9', 'Structures':'9.png,
154
+
155
+ {' id':10', 'Structures':'10.png ':''}]
156
+
157
+ -------------------------------中略-------------------------------------
158
+
159
+ # d = {}
160
+
161
+ # for x in xlImages
162
+
163
+ # if x not in d.keys():
164
+
165
+ # d[x] = 1
166
+
167
+ # else:
168
+
169
+ # d[x] += 1
170
+
171
+
172
+
173
+ wbbk.save('New_myImages.xlsx')
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+ ### 試したこと
182
+
183
+
184
+
185
+ import sqlite3
186
+
187
+ import openpyxl as px
188
+
189
+ import sqlalchemy as sa
190
+
191
+ import requests
192
+
193
+ import cv2
194
+
195
+ import pandas as pd
196
+
197
+ import numpy as np
198
+
199
+
200
+
201
+ dbName = 'pyDataBase.db'
202
+
203
+ dbPath = r'C:\Users\shin\python_sqlite3\PubChem\pyDataBase.db'
204
+
205
+
206
+
207
+ xlBook = 'xlDataBase.xlsx'
208
+
209
+ xlPath = r'C:\Users\shin\python_sqlite3\PubChem\xlDataBase.xlsx'
210
+
211
+
212
+
213
+ # テーブル作成をやり直したいときに備えます
214
+
215
+ DROP_TABLE = "DROP TABLE IF EXISTS TABLE1"
216
+
217
+
218
+
219
+ # テーブルの定義と作成
220
+
221
+ CREATE_ TABLE1 = '''CREATE TABLE TABLE1
222
+
223
+ (id INTEGER PRIMARY KEY,
224
+
225
+ Structures BLOB)''
226
+
227
+
228
+
229
+ # データベースを新規作成(DBに【接続】)
230
+
231
+ conn = sqlite3.connect(' pyDataBase.db ')
232
+
101
233
  # 「カーソル」を取得
102
234
 
103
235
  c = conn.cursor()
@@ -110,132 +242,6 @@
110
242
 
111
243
 
112
244
 
113
- エラーメッセージ
114
-
115
-
116
-
117
- OSError: cannot identify image file '11.png'
118
-
119
-
120
-
121
- ### 該当のソースコード
122
-
123
-
124
-
125
- from openpyxl.drawing.image import Image
126
-
127
- from openpyxl.styles import Alignment
128
-
129
-
130
-
131
- xlImages = [{'id':1', 'Structures':'1.png'},
132
-
133
- {' id':2', 'Structures':'2.png,
134
-
135
- {' id':3', 'Structures':'3.png,
136
-
137
- {' id':4', 'Structures':'4.png,
138
-
139
- {' id':5', 'Structures':'5.png,
140
-
141
- {' id':6', 'Structures':'6.png,
142
-
143
- {' id':7', 'Structures':'7.png,
144
-
145
- {' id':8', 'Structures':'8.png,
146
-
147
- {' id':9', 'Structures':'9.png,
148
-
149
- {' id':10', 'Structures':'10.png ':''}]
150
-
151
- -------------------------------中略-------------------------------------
152
-
153
- # d = {}
154
-
155
- # for x in xlImages
156
-
157
- # if x not in d.keys():
158
-
159
- # d[x] = 1
160
-
161
- # else:
162
-
163
- # d[x] += 1
164
-
165
-
166
-
167
- wbbk.save('New_myImages.xlsx')
168
-
169
-
170
-
171
-
172
-
173
-
174
-
175
- ### 試したこと
176
-
177
-
178
-
179
- import sqlite3
180
-
181
- import openpyxl as px
182
-
183
- import sqlalchemy as sa
184
-
185
- import requests
186
-
187
- import cv2
188
-
189
- import pandas as pd
190
-
191
- import numpy as np
192
-
193
-
194
-
195
- dbName = 'pyDataBase.db'
196
-
197
- dbPath = r'C:\Users\shin\python_sqlite3\PubChem\pyDataBase.db'
198
-
199
-
200
-
201
- xlBook = 'xlDataBase.xlsx'
202
-
203
- xlPath = r'C:\Users\shin\python_sqlite3\PubChem\xlDataBase.xlsx'
204
-
205
-
206
-
207
- # テーブル作成をやり直したいときに備えます
208
-
209
- DROP_TABLE = "DROP TABLE IF EXISTS TABLE1"
210
-
211
-
212
-
213
- # テーブルの定義と作成
214
-
215
- CREATE_ TABLE1 = '''CREATE TABLE TABLE1
216
-
217
- (id INTEGER PRIMARY KEY,
218
-
219
- Structures BLOB)''
220
-
221
-
222
-
223
- # データベースを新規作成(DBに【接続】)
224
-
225
- conn = sqlite3.connect(' pyDataBase.db ')
226
-
227
- # 「カーソル」を取得
228
-
229
- c = conn.cursor()
230
-
231
- # SQLを実行
232
-
233
- c.execute(DROP_TABLE)
234
-
235
- c.execute(CREATE_ TABLE1)
236
-
237
-
238
-
239
245
  # 【INSERT文】に挿入するナマ・データを直接記述することはセキュリティ面で問題になるので、プレースホルダの?で代替
240
246
 
241
247
  # executeメソッドの引数にはSQL文と、かつ挿入する実際値をリストやタプルの形で指定。今回は【文字列のタプルであるrow】を指定

1

1. ソースコードを<code>ボタンよりマークアップ開始_1

2019/12/03 14:08

投稿

rare-sugar
rare-sugar

スコア4

test CHANGED
File without changes
test CHANGED
@@ -92,6 +92,136 @@
92
92
 
93
93
  # データベースを新規作成(DBに【接続】)
94
94
 
95
+ ```ここに言語を入力
96
+
97
+ conn = sqlite3.connect('pyDataBase.db')
98
+
99
+ ```
100
+
101
+ # 「カーソル」を取得
102
+
103
+ c = conn.cursor()
104
+
105
+ # SQLを実行
106
+
107
+ c.execute(DROP_TABLE)
108
+
109
+ c.execute(CREATE_ TABLE1)
110
+
111
+
112
+
113
+ エラーメッセージ
114
+
115
+
116
+
117
+ OSError: cannot identify image file '11.png'
118
+
119
+
120
+
121
+ ### 該当のソースコード
122
+
123
+
124
+
125
+ from openpyxl.drawing.image import Image
126
+
127
+ from openpyxl.styles import Alignment
128
+
129
+
130
+
131
+ xlImages = [{'id':1', 'Structures':'1.png'},
132
+
133
+ {' id':2', 'Structures':'2.png,
134
+
135
+ {' id':3', 'Structures':'3.png,
136
+
137
+ {' id':4', 'Structures':'4.png,
138
+
139
+ {' id':5', 'Structures':'5.png,
140
+
141
+ {' id':6', 'Structures':'6.png,
142
+
143
+ {' id':7', 'Structures':'7.png,
144
+
145
+ {' id':8', 'Structures':'8.png,
146
+
147
+ {' id':9', 'Structures':'9.png,
148
+
149
+ {' id':10', 'Structures':'10.png ':''}]
150
+
151
+ -------------------------------中略-------------------------------------
152
+
153
+ # d = {}
154
+
155
+ # for x in xlImages
156
+
157
+ # if x not in d.keys():
158
+
159
+ # d[x] = 1
160
+
161
+ # else:
162
+
163
+ # d[x] += 1
164
+
165
+
166
+
167
+ wbbk.save('New_myImages.xlsx')
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+ ### 試したこと
176
+
177
+
178
+
179
+ import sqlite3
180
+
181
+ import openpyxl as px
182
+
183
+ import sqlalchemy as sa
184
+
185
+ import requests
186
+
187
+ import cv2
188
+
189
+ import pandas as pd
190
+
191
+ import numpy as np
192
+
193
+
194
+
195
+ dbName = 'pyDataBase.db'
196
+
197
+ dbPath = r'C:\Users\shin\python_sqlite3\PubChem\pyDataBase.db'
198
+
199
+
200
+
201
+ xlBook = 'xlDataBase.xlsx'
202
+
203
+ xlPath = r'C:\Users\shin\python_sqlite3\PubChem\xlDataBase.xlsx'
204
+
205
+
206
+
207
+ # テーブル作成をやり直したいときに備えます
208
+
209
+ DROP_TABLE = "DROP TABLE IF EXISTS TABLE1"
210
+
211
+
212
+
213
+ # テーブルの定義と作成
214
+
215
+ CREATE_ TABLE1 = '''CREATE TABLE TABLE1
216
+
217
+ (id INTEGER PRIMARY KEY,
218
+
219
+ Structures BLOB)''
220
+
221
+
222
+
223
+ # データベースを新規作成(DBに【接続】)
224
+
95
225
  conn = sqlite3.connect(' pyDataBase.db ')
96
226
 
97
227
  # 「カーソル」を取得
@@ -106,132 +236,6 @@
106
236
 
107
237
 
108
238
 
109
- エラーメッセージ
110
-
111
-
112
-
113
- OSError: cannot identify image file '11.png'
114
-
115
-
116
-
117
- ### 該当のソースコード
118
-
119
-
120
-
121
- from openpyxl.drawing.image import Image
122
-
123
- from openpyxl.styles import Alignment
124
-
125
-
126
-
127
- xlImages = [{'id':1', 'Structures':'1.png'},
128
-
129
- {' id':2', 'Structures':'2.png,
130
-
131
- {' id':3', 'Structures':'3.png,
132
-
133
- {' id':4', 'Structures':'4.png,
134
-
135
- {' id':5', 'Structures':'5.png,
136
-
137
- {' id':6', 'Structures':'6.png,
138
-
139
- {' id':7', 'Structures':'7.png,
140
-
141
- {' id':8', 'Structures':'8.png,
142
-
143
- {' id':9', 'Structures':'9.png,
144
-
145
- {' id':10', 'Structures':'10.png ':''}]
146
-
147
- -------------------------------中略-------------------------------------
148
-
149
- # d = {}
150
-
151
- # for x in xlImages
152
-
153
- # if x not in d.keys():
154
-
155
- # d[x] = 1
156
-
157
- # else:
158
-
159
- # d[x] += 1
160
-
161
-
162
-
163
- wbbk.save('New_myImages.xlsx')
164
-
165
-
166
-
167
-
168
-
169
-
170
-
171
- ### 試したこと
172
-
173
-
174
-
175
- import sqlite3
176
-
177
- import openpyxl as px
178
-
179
- import sqlalchemy as sa
180
-
181
- import requests
182
-
183
- import cv2
184
-
185
- import pandas as pd
186
-
187
- import numpy as np
188
-
189
-
190
-
191
- dbName = 'pyDataBase.db'
192
-
193
- dbPath = r'C:\Users\shin\python_sqlite3\PubChem\pyDataBase.db'
194
-
195
-
196
-
197
- xlBook = 'xlDataBase.xlsx'
198
-
199
- xlPath = r'C:\Users\shin\python_sqlite3\PubChem\xlDataBase.xlsx'
200
-
201
-
202
-
203
- # テーブル作成をやり直したいときに備えます
204
-
205
- DROP_TABLE = "DROP TABLE IF EXISTS TABLE1"
206
-
207
-
208
-
209
- # テーブルの定義と作成
210
-
211
- CREATE_ TABLE1 = '''CREATE TABLE TABLE1
212
-
213
- (id INTEGER PRIMARY KEY,
214
-
215
- Structures BLOB)''
216
-
217
-
218
-
219
- # データベースを新規作成(DBに【接続】)
220
-
221
- conn = sqlite3.connect(' pyDataBase.db ')
222
-
223
- # 「カーソル」を取得
224
-
225
- c = conn.cursor()
226
-
227
- # SQLを実行
228
-
229
- c.execute(DROP_TABLE)
230
-
231
- c.execute(CREATE_ TABLE1)
232
-
233
-
234
-
235
239
  # 【INSERT文】に挿入するナマ・データを直接記述することはセキュリティ面で問題になるので、プレースホルダの?で代替
236
240
 
237
241
  # executeメソッドの引数にはSQL文と、かつ挿入する実際値をリストやタプルの形で指定。今回は【文字列のタプルであるrow】を指定