\home\userID\domainName
|- aaaaaaa
|- bbbbbbb
|- ccccccc
|
|- public_html <-- このフォルダ内に作成したフォルダ,ファイルをコピーする
|
|- xxxxxxx
|- zzzzzzz
C:\Users\user\sample_pj
C:\Users\user>cd C:\Users\user\sample_pj <-- ディレクトリを移動します
C:\Users\user\sample_pj>python -m venv tenarai <-- python コマンドを実行します (tenaraiはフォルダ名です。もちろん任意でかまいません)
C:\Users\user\sample_pj
|- tenarai
|-Include
|-lib
|-Scripts
|-.gitgnore
|-pyvenv.cfg
C:\Users\user>cd C:\Users\user\sample_pj\tenarai\Scripts <-- ディレクトリを移動します
C:\Users\user\sample_pj\tenarai\Scripts>activate <-- [activate] を実行します
C:\Users\user\sample_pj\tenarai\Scripts>
---->
(tenarai) C:\Users\user\sample_pj\tenarai\Scripts> <-- (tenarai)が付与されたプロンプトになる
(tenarai) C:\Users\user\sample_pj\tenarai\Scripts>cd C:\Users\user\sample_pj <-- ディレクトリを移動します
(tenarai) C:\Users\user\sample_pj>
(tenarai) C:\Users\user\sample_pj>pip list <-- [pip xxxx]は、pythonのコマンドです
Package Version
------- -------
pip 25.3
(tenarai) C:\Users\user\sample_pj>pip install Flask <-- [pip install Flask]で、Flask を追加します
Collecting Flask
Using cached flask-3.1.3-py3-none-any.whl.metadata (3.2 kB)
Collecting blinker>=1.9.0 (from Flask)
Using cached blinker-1.9.0-py3-none-any.whl.metadata (1.6 kB)
Collecting click>=8.1.3 (from Flask)
Using cached click-8.3.1-py3-none-any.whl.metadata (2.6 kB)
Collecting itsdangerous>=2.2.0 (from Flask)
Using cached itsdangerous-2.2.0-py3-none-any.whl.metadata (1.9 kB)
Collecting jinja2>=3.1.2 (from Flask)
Using cached jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)
Collecting markupsafe>=2.1.1 (from Flask)
Using cached markupsafe-3.0.3-cp314-cp314-win_amd64.whl.metadata (2.8 kB)
Collecting werkzeug>=3.1.0 (from Flask)
Using cached werkzeug-3.1.6-py3-none-any.whl.metadata (4.0 kB)
Collecting colorama (from click>=8.1.3->Flask)
Using cached colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)
Using cached flask-3.1.3-py3-none-any.whl (103 kB)
Using cached blinker-1.9.0-py3-none-any.whl (8.5 kB)
Using cached click-8.3.1-py3-none-any.whl (108 kB)
Using cached itsdangerous-2.2.0-py3-none-any.whl (16 kB)
Using cached jinja2-3.1.6-py3-none-any.whl (134 kB)
Using cached markupsafe-3.0.3-cp314-cp314-win_amd64.whl (15 kB)
Using cached werkzeug-3.1.6-py3-none-any.whl (225 kB)
Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Installing collected packages: markupsafe, itsdangerous, colorama, blinker, werkzeug, jinja2, click, Flask
Successfully installed Flask-3.1.3 blinker-1.9.0 click-8.3.1 colorama-0.4.6 itsdangerous-2.2.0 jinja2-3.1.6 markupsafe-3.0.3 werkzeug-3.1.6
[notice] A new release of pip is available: 25.3 -> 26.0.1 <-- pipコマンドのバージョンが上がってますよ との案内がありましたが気にせず
[notice] To update, run: python.exe -m pip install --upgrade pip <-- upgrade したい場合は、左記のコマンドを実行すれば可能です
(tenarai) C:\Users\user\sample_pj>
(tenarai) C:\Users\user\sample_pj>pip list
Package Version
------------ -------
blinker 1.9.0
click 8.3.1
colorama 0.4.6
Flask 3.1.3 <-- Flask が入っている(問題なし)
itsdangerous 2.2.0
Jinja2 3.1.6
MarkupSafe 3.0.3
pip 25.3
Werkzeug 3.1.6
(tenarai) C:\Users\user\sample_pj>pip install xxxxxx
DEBUG = True
SQLALCHEMY_DATABASE_URI = 'sqlite:///Tenarai.db'
SQLALCHEMY_TRACK_MODIFICATIONS = True
class Tenarai_Datas(db.Model):
__tablename__ = 'tenarai_datas'
id = db.Column(db.Integer, primary_key=True) # システムで使う番号
shimei = db.Column(db.String(10)) # 氏名
course = db.Column(db.String(10)) # 講座名
stymd = db.Column(db.String(8)) # 開始年月日
edymd = db.Column(db.String(8)) # 終了年月日
created_at = db.Column(db.Integer, nullable=False, default=datetime.now) # 登録日時
updated_at = db.Column(db.Integer, nullable=False, default=datetime.now, onupdate=datetime.now) # 更新日時
\home\userID\domainName
|- public_html (このフォルダ内に作成したファイルをコピーする)
|-instance <-- SqliteDB を、保存、参照するフォルダ
| |-tenarai.db <<- (サンプルでは処理実行時に作成するようになっています)
|
|-models <-- DBモデルの保存先
| |-tenarai.py <<- (サンプルでは hello.py に統合した為ファイルはありません)
|
|-static
| |-css <-- cssファイルの保存先
| | |-style.css
| |
| |-images <-- img(png,jpg等)ファイルの保存先
| | |-logo.png
| |
| |-javascript <-- javascriptファイルの保存先
| |-keisan.js <<- (サンプルでは js は使用していません)
|
|-templates <-- htmlファイルを保存する
| |-index.html
|
|-.htaccess <<- 一番最初に参照される(phpとpythonを連携するファイル)
|-config.py <<- 設定を hello.py に組み込めた場合は不要
|-hello.py <<- サーバ側pgm (main_pgm)
|-index.cgi <<- .htaccessから参照されるファイル
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>サンプルフォーム</title>
</head>
<body>
<h1>60の手習いサンプルフォームです。</h1>
{% for tenarai_data in tenarai_datas %}
<p><h4>{{ tenarai_data.shimei }}</h4></p>
<p><h4>{{ tenarai_data.course }}</h4></p>
<p><h4>{{ tenarai_data.stymd }}</h4></p>
<p><h4>{{ tenarai_data.edymd }}</h4></p>
{% endfor %}
</body>
</html>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.cgi/$1 [L]
</IfModule>
#! /home/userID/miniconda3/envs/py313/bin/python <-- ここの指定は python を私自身でインストールした場合の参照先です
#! /usr/bin/python3.6 <-- コマンドパスを設定(ただし、起動していないのでそのまま使用できるか不明です)
<-- #! は、先頭1行目のみ設定です。(どちらかを選ぶことになります)
from wsgiref.handlers import CGIHandler
from hello import app
CGIHandler().run(app)
from hello import app
if __name__ == '__main__':
app.run()
from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
app = Flask(__name__)
app.config.from_object('config') # <-- DBの作成先指定
# 手習い管理DB作成
db = SQLAlchemy(app) # <-- ここでDBが作成される
class Tenarai_Datas(db.Model):
__tablename__ = 'tenarai_datas'
id = db.Column(db.Integer, primary_key=True) # システムで使う番号
shimei = db.Column(db.String(10)) # 氏名
course = db.Column(db.String(10)) # 講座名
stymd = db.Column(db.String(8)) # 開始年月日
edymd = db.Column(db.String(8)) # 終了年月日
created_at = db.Column(db.Integer, nullable=False, default=datetime.now) # 登録日時
updated_at = db.Column(db.Integer, nullable=False, default=datetime.now, onupdate=datetime.now) # 更新日時
# データベースの作成
from hello import app,db
with app.app_context():
db.create_all() # <-- ここでTabelが作成される
@app.route('/')
def index():
tenarai_datas = Tenarai_Datas.query.filter(Tenarai_Datas.shimei == "鈴木一郎").all() # <-- DBの読込 (SQLAlchemy)
return render_template('index.html',tenarai_datas=tenarai_datas)
C:\Users\user>cd C:\Users\user\sample_pj\tenarai\Scripts
C:\Users\user\sample_pj\tenarai\Scripts>activate
(tenarai) C:\Users\user\sample_pj\tenarai\Scripts>
(tenarai) C:\Users\user\sample_pj\tenarai\Scripts>cd C:\Users\user\sample_pj
(tenarai) C:\Users\user\sample_pj>python svstart.py
* Serving Flask app 'hello'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
* Restarting with stat
* Debugger is active!
* Debugger PIN: 508-642-572
(tenarai) C:\Users\user\sample_pj>python svstart.py
* Serving Flask app 'hello'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
* Restarting with stat
* Debugger is active!
* Debugger PIN: 508-642-572
127.0.0.1 - - [12/Mar/2026 12:08:37] "GET / HTTP/1.1" 200 -
<-- (CTRLキー + Cキーを同時に押下)
(tenarai) C:\Users\user\sample_pj> <-- プロンプトが元に戻っています。
1,鈴木一郎,python全般,20250401,20250820,2026-02-05 00:00:000,2026-02-05 00:00:000
2,山田太郎,html初心者,20250612,20250710,2026-02-05 00:00:000,2026-02-05 00:00:000
3,山田太郎,css初心者,20250715,20250920,2026-02-05 00:00:000,2026-02-05 00:00:000
4,鈴木一郎,Sqlite初心者,20250901,20250930,2026-02-05 00:00:000,2026-02-05 00:00:000
5,佐藤一,Xserverについて,20250402,20250403,2026-02-05 00:00:000,2026-02-05 00:00:000
import csv
import sqlite3
### データベースファイルに接続(ファイルが存在しない場合は作成される)
conn = sqlite3.connect('Tenarai.db')
cur = conn.cursor()
#Tenarai_Datasテーブルのデータを削除(何回もコード実行すると同じデータ追加されるので)
del_data = "DELETE FROM Tenarai_Datas"
cur.execute(del_data)
### CSVファイルオープン
file_csv = open("tenarai_datas.csv", "r", encoding="utf-8")
### CSVファイル読み込み
read_csv = csv.reader(file_csv)
### CSVデータをINSERTする
rows = []
for row in read_csv:
rows.append(row)
# print(row)
### executemany() で複数のINSERTを実行する
cur.executemany(
"INSERT INTO Tenarai_Datas (id, shimei, course, stymd ,edymd, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?)", rows
)
### コミット
conn.commit()
### カーソルクローズ
cur.close()
### DB切断
conn.close()
### ファイルクローズ
file_csv.close()
import sqlite3
# データベースファイルに接続(ファイルが存在しない場合は作成される)
conn = sqlite3.connect('Tenarai.db')
cursor = conn.cursor()
# テーブル一覧を取得して表示する例
cursor.execute("SELECT name FROM sqlite_master WHERE type='table';")
tables = cursor.fetchall()
print("テーブル一覧:", tables)
# 特定のテーブルの中身を確認する例 (例: 'Tenarai_Datas'テーブル)
try:
cursor.execute("SELECT * FROM Tenarai_Datas;")
rows = cursor.fetchall()
print("Tenarai_Datasテーブルの内容:")
for row in rows:
print(row)
except sqlite3.OperationalError:
print("Tenarai_Datasテーブルが見つかりません。")
conn.close()
C:\Users\user\sample_pj
|- instance <-- 作成したファイルをこのフォルダに保存
|-Tenarai.db
|
|-tenarai_datas.csv
|-Tenarai_Datas_sql_from_csv.py
|-tablechk.py
C:\Users\user>
C:\Users\user>cd C:\Users\user\sample_pj\tenarai\Scripts
C:\Users\user\sample_pj\tenarai\Scripts>activate <-- 仮想環境を起動します
(tenarai) C:\Users\user\sample_pj\tenarai\Scripts>
(tenarai) C:\Users\user\sample_pj\tenarai\Scripts>cd C:\Users\user\sample_pj\instance <-- DBの保存フォルダに移動する
(tenarai) C:\Users\user\sample_pj\instance>
(tenarai) C:\Users\user\sample_pj\instance>python Tenarai_Datas_sql_from_csv.py <-- csvデータをtenarai_datasにロード
(tenarai) C:\Users\user\sample_pj\instance>python tablechk.py <-- tenarai_datasの登録内容を確認
テーブル一覧: [('tenarai_datas',)]
Tenarai_Datasテーブルの内容:
(1, '鈴木一郎', 'python全般', '20250401', '20250820', '2026-02-05 00:00:000', '2026-02-05 00:00:000')
(2, '山田太郎', 'html初心者', '20250612', '20250710', '2026-02-05 00:00:000', '2026-02-05 00:00:000')
(3, '山田太郎', 'css初心者', '20250715', '20250920', '2026-02-05 00:00:000', '2026-02-05 00:00:000')
(4, '鈴木一郎', 'Sqlite初心者', '20250901', '20250930', '2026-02-05 00:00:000', '2026-02-05 00:00:000')
(5, '佐藤一', 'Xserverについて', '20250402', '20250403', '2026-02-05 00:00:000', '2026-02-05 00:00:000')
(tenarai) C:\Users\user\sample_pj\instance>cd C:\Users\user\sample_pj
(tenarai) C:\Users\user\sample_pj>python svstart.py
* Serving Flask app 'hello'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
* Restarting with stat
* Debugger is active!
* Debugger PIN: 508-642-572
\home\userID\domainName
|- aaaaaaa
|- bbbbbbb
|- ccccccc
|
|- public_html <-- このフォルダ内に作成したフォルダ,ファイルをコピーする
|
|- xxxxxxx
|- zzzzzzz
C:\Users\user\sample_pj
C:\Users\user>cd C:\Users\user\sample_pj <-- ディレクトリを移動します
C:\Users\user\sample_pj>python -m venv tenarai <-- python コマンドを実行します (tenaraiはフォルダ名です。もちろん任意でかまいません)
C:\Users\user\sample_pj
|- tenarai
|-Include
|-lib
|-Scripts
|-.gitgnore
|-pyvenv.cfg
C:\Users\user>cd C:\Users\user\sample_pj\tenarai\Scripts <-- ディレクトリを移動します
C:\Users\user\sample_pj\tenarai\Scripts>activate <-- [activate] を実行します
C:\Users\user\sample_pj\tenarai\Scripts>
---->
(tenarai) C:\Users\user\sample_pj\tenarai\Scripts> <-- (tenarai)が付与されたプロンプトになる
(tenarai) C:\Users\user\sample_pj\tenarai\Scripts>cd C:\Users\user\sample_pj <-- ディレクトリを移動します
(tenarai) C:\Users\user\sample_pj>
(tenarai) C:\Users\user\sample_pj>pip list <-- [pip xxxx]は、pythonのコマンドです
Package Version
------- -------
pip 25.3
(tenarai) C:\Users\user\sample_pj>pip install Flask <-- [pip install Flask]で、Flask を追加します
Collecting Flask
Using cached flask-3.1.3-py3-none-any.whl.metadata (3.2 kB)
Collecting blinker>=1.9.0 (from Flask)
Using cached blinker-1.9.0-py3-none-any.whl.metadata (1.6 kB)
Collecting click>=8.1.3 (from Flask)
Using cached click-8.3.1-py3-none-any.whl.metadata (2.6 kB)
Collecting itsdangerous>=2.2.0 (from Flask)
Using cached itsdangerous-2.2.0-py3-none-any.whl.metadata (1.9 kB)
Collecting jinja2>=3.1.2 (from Flask)
Using cached jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)
Collecting markupsafe>=2.1.1 (from Flask)
Using cached markupsafe-3.0.3-cp314-cp314-win_amd64.whl.metadata (2.8 kB)
Collecting werkzeug>=3.1.0 (from Flask)
Using cached werkzeug-3.1.6-py3-none-any.whl.metadata (4.0 kB)
Collecting colorama (from click>=8.1.3->Flask)
Using cached colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)
Using cached flask-3.1.3-py3-none-any.whl (103 kB)
Using cached blinker-1.9.0-py3-none-any.whl (8.5 kB)
Using cached click-8.3.1-py3-none-any.whl (108 kB)
Using cached itsdangerous-2.2.0-py3-none-any.whl (16 kB)
Using cached jinja2-3.1.6-py3-none-any.whl (134 kB)
Using cached markupsafe-3.0.3-cp314-cp314-win_amd64.whl (15 kB)
Using cached werkzeug-3.1.6-py3-none-any.whl (225 kB)
Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Installing collected packages: markupsafe, itsdangerous, colorama, blinker, werkzeug, jinja2, click, Flask
Successfully installed Flask-3.1.3 blinker-1.9.0 click-8.3.1 colorama-0.4.6 itsdangerous-2.2.0 jinja2-3.1.6 markupsafe-3.0.3 werkzeug-3.1.6
[notice] A new release of pip is available: 25.3 -> 26.0.1 <-- pipコマンドのバージョンが上がってますよ との案内がありましたが気にせず
[notice] To update, run: python.exe -m pip install --upgrade pip <-- upgrade したい場合は、左記のコマンドを実行すれば可能です
(tenarai) C:\Users\user\sample_pj>
(tenarai) C:\Users\user\sample_pj>pip list
Package Version
------------ -------
blinker 1.9.0
click 8.3.1
colorama 0.4.6
Flask 3.1.3 <-- Flask が入っている(問題なし)
itsdangerous 2.2.0
Jinja2 3.1.6
MarkupSafe 3.0.3
pip 25.3
Werkzeug 3.1.6
(tenarai) C:\Users\user\sample_pj>pip install xxxxxx
DEBUG = True
SQLALCHEMY_DATABASE_URI = 'sqlite:///Tenarai.db'
SQLALCHEMY_TRACK_MODIFICATIONS = True
class Tenarai_Datas(db.Model):
__tablename__ = 'tenarai_datas'
id = db.Column(db.Integer, primary_key=True) # システムで使う番号
shimei = db.Column(db.String(10)) # 氏名
course = db.Column(db.String(10)) # 講座名
stymd = db.Column(db.String(8)) # 開始年月日
edymd = db.Column(db.String(8)) # 終了年月日
created_at = db.Column(db.Integer, nullable=False, default=datetime.now) # 登録日時
updated_at = db.Column(db.Integer, nullable=False, default=datetime.now, onupdate=datetime.now) # 更新日時
\home\userID\domainName
|- public_html (このフォルダ内に作成したファイルをコピーする)
|-instance <-- SqliteDB を、保存、参照するフォルダ
| |-tenarai.db <<- (サンプルでは処理実行時に作成するようになっています)
|
|-models <-- DBモデルの保存先
| |-tenarai.py <<- (サンプルでは hello.py に統合した為ファイルはありません)
|
|-static
| |-css <-- cssファイルの保存先
| | |-style.css
| |
| |-images <-- img(png,jpg等)ファイルの保存先
| | |-logo.png
| |
| |-javascript <-- javascriptファイルの保存先
| |-keisan.js <<- (サンプルでは js は使用していません)
|
|-templates <-- htmlファイルを保存する
| |-index.html
|
|-.htaccess <<- 一番最初に参照される(phpとpythonを連携するファイル)
|-config.py <<- 設定を hello.py に組み込めた場合は不要
|-hello.py <<- サーバ側pgm (main_pgm)
|-index.cgi <<- .htaccessから参照されるファイル
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>サンプルフォーム</title>
</head>
<body>
<h1>60の手習いサンプルフォームです。</h1>
{% for tenarai_data in tenarai_datas %}
<p><h4>{{ tenarai_data.shimei }}</h4></p>
<p><h4>{{ tenarai_data.course }}</h4></p>
<p><h4>{{ tenarai_data.stymd }}</h4></p>
<p><h4>{{ tenarai_data.edymd }}</h4></p>
{% endfor %}
</body>
</html>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.cgi/$1 [L]
</IfModule>
#! /home/userID/miniconda3/envs/py313/bin/python <-- ここの指定は python を私自身でインストールした場合の参照先です
#! /usr/bin/python3.6 <-- コマンドパスを設定(ただし、起動していないのでそのまま使用できるか不明です)
<-- #! は、先頭1行目のみ設定です。(どちらかを選ぶことになります)
from wsgiref.handlers import CGIHandler
from hello import app
CGIHandler().run(app)
from hello import app
if __name__ == '__main__':
app.run()
from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
app = Flask(__name__)
app.config.from_object('config') # <-- DBの作成先指定
# 手習い管理DB作成
db = SQLAlchemy(app) # <-- ここでDBが作成される
class Tenarai_Datas(db.Model):
__tablename__ = 'tenarai_datas'
id = db.Column(db.Integer, primary_key=True) # システムで使う番号
shimei = db.Column(db.String(10)) # 氏名
course = db.Column(db.String(10)) # 講座名
stymd = db.Column(db.String(8)) # 開始年月日
edymd = db.Column(db.String(8)) # 終了年月日
created_at = db.Column(db.Integer, nullable=False, default=datetime.now) # 登録日時
updated_at = db.Column(db.Integer, nullable=False, default=datetime.now, onupdate=datetime.now) # 更新日時
# データベースの作成
from hello import app,db
with app.app_context():
db.create_all() # <-- ここでTabelが作成される
@app.route('/')
def index():
tenarai_datas = Tenarai_Datas.query.filter(Tenarai_Datas.shimei == "鈴木一郎").all() # <-- DBの読込 (SQLAlchemy)
return render_template('index.html',tenarai_datas=tenarai_datas)
C:\Users\user>cd C:\Users\user\sample_pj\tenarai\Scripts
C:\Users\user\sample_pj\tenarai\Scripts>activate
(tenarai) C:\Users\user\sample_pj\tenarai\Scripts>
(tenarai) C:\Users\user\sample_pj\tenarai\Scripts>cd C:\Users\user\sample_pj
(tenarai) C:\Users\user\sample_pj>python svstart.py
* Serving Flask app 'hello'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
* Restarting with stat
* Debugger is active!
* Debugger PIN: 508-642-572
(tenarai) C:\Users\user\sample_pj>python svstart.py
* Serving Flask app 'hello'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
* Restarting with stat
* Debugger is active!
* Debugger PIN: 508-642-572
127.0.0.1 - - [12/Mar/2026 12:08:37] "GET / HTTP/1.1" 200 -
<-- (CTRLキー + Cキーを同時に押下)
(tenarai) C:\Users\user\sample_pj> <-- プロンプトが元に戻っています。
1,鈴木一郎,python全般,20250401,20250820,2026-02-05 00:00:000,2026-02-05 00:00:000
2,山田太郎,html初心者,20250612,20250710,2026-02-05 00:00:000,2026-02-05 00:00:000
3,山田太郎,css初心者,20250715,20250920,2026-02-05 00:00:000,2026-02-05 00:00:000
4,鈴木一郎,Sqlite初心者,20250901,20250930,2026-02-05 00:00:000,2026-02-05 00:00:000
5,佐藤一,Xserverについて,20250402,20250403,2026-02-05 00:00:000,2026-02-05 00:00:000
import csv
import sqlite3
### データベースファイルに接続(ファイルが存在しない場合は作成される)
conn = sqlite3.connect('Tenarai.db')
cur = conn.cursor()
#Tenarai_Datasテーブルのデータを削除(何回もコード実行すると同じデータ追加されるので)
del_data = "DELETE FROM Tenarai_Datas"
cur.execute(del_data)
### CSVファイルオープン
file_csv = open("tenarai_datas.csv", "r", encoding="utf-8")
### CSVファイル読み込み
read_csv = csv.reader(file_csv)
### CSVデータをINSERTする
rows = []
for row in read_csv:
rows.append(row)
# print(row)
### executemany() で複数のINSERTを実行する
cur.executemany(
"INSERT INTO Tenarai_Datas (id, shimei, course, stymd ,edymd, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?)", rows
)
### コミット
conn.commit()
### カーソルクローズ
cur.close()
### DB切断
conn.close()
### ファイルクローズ
file_csv.close()
import sqlite3
# データベースファイルに接続(ファイルが存在しない場合は作成される)
conn = sqlite3.connect('Tenarai.db')
cursor = conn.cursor()
# テーブル一覧を取得して表示する例
cursor.execute("SELECT name FROM sqlite_master WHERE type='table';")
tables = cursor.fetchall()
print("テーブル一覧:", tables)
# 特定のテーブルの中身を確認する例 (例: 'Tenarai_Datas'テーブル)
try:
cursor.execute("SELECT * FROM Tenarai_Datas;")
rows = cursor.fetchall()
print("Tenarai_Datasテーブルの内容:")
for row in rows:
print(row)
except sqlite3.OperationalError:
print("Tenarai_Datasテーブルが見つかりません。")
conn.close()
C:\Users\user\sample_pj
|- instance <-- 作成したファイルをこのフォルダに保存
|-Tenarai.db
|
|-tenarai_datas.csv
|-Tenarai_Datas_sql_from_csv.py
|-tablechk.py
C:\Users\user>
C:\Users\user>cd C:\Users\user\sample_pj\tenarai\Scripts
C:\Users\user\sample_pj\tenarai\Scripts>activate <-- 仮想環境を起動します
(tenarai) C:\Users\user\sample_pj\tenarai\Scripts>
(tenarai) C:\Users\user\sample_pj\tenarai\Scripts>cd C:\Users\user\sample_pj\instance <-- DBの保存フォルダに移動する
(tenarai) C:\Users\user\sample_pj\instance>
(tenarai) C:\Users\user\sample_pj\instance>python Tenarai_Datas_sql_from_csv.py <-- csvデータをtenarai_datasにロード
(tenarai) C:\Users\user\sample_pj\instance>python tablechk.py <-- tenarai_datasの登録内容を確認
テーブル一覧: [('tenarai_datas',)]
Tenarai_Datasテーブルの内容:
(1, '鈴木一郎', 'python全般', '20250401', '20250820', '2026-02-05 00:00:000', '2026-02-05 00:00:000')
(2, '山田太郎', 'html初心者', '20250612', '20250710', '2026-02-05 00:00:000', '2026-02-05 00:00:000')
(3, '山田太郎', 'css初心者', '20250715', '20250920', '2026-02-05 00:00:000', '2026-02-05 00:00:000')
(4, '鈴木一郎', 'Sqlite初心者', '20250901', '20250930', '2026-02-05 00:00:000', '2026-02-05 00:00:000')
(5, '佐藤一', 'Xserverについて', '20250402', '20250403', '2026-02-05 00:00:000', '2026-02-05 00:00:000')
(tenarai) C:\Users\user\sample_pj\instance>cd C:\Users\user\sample_pj
(tenarai) C:\Users\user\sample_pj>python svstart.py
* Serving Flask app 'hello'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
* Restarting with stat
* Debugger is active!
* Debugger PIN: 508-642-572