実現したいこと
初学者です。スクレイピングしたデータをMySQLに登録しデータベースを作ろうとしています。
現在の状況
VScodeとMySQLの接続はなんとかできましたが、
データが1万行ほどあったため、まとめて登録できる方法を探し、
LOAD DATA INFILE構文に辿り着きました。
困っていること
・データをcsvファイルで保存し直し、そのファイルを読み込もうとしたのですが、LOAD DATA INFILE構文が載っているサイトは自分で探す限り、コード全文というよりはLOAD DATA INFILE構文の部分だけが記載されており、初学者である自分にはVScodeでどのように打てばいいのかわかりませんでした。
・あるサイトで
def load_data(file_path):となっていたので
def load_data(/Users/name/Desktop/keiba/t_keiba/keiba_db_2021.csv):
とcsvファイルの場所を指定したのですがエラーとなり解消方法もわかりませんでした。
また、それだけでなく、色んなサイトから色んな情報を取り入れているうちに何を学べば良いか、何を取り入れたら良いかがわからなくなっています。コードもぐちゃぐちゃで申し訳ないですが、なんとか解消したいです。よろしくお願いします。
python
1import mysql.connector 2 3# 接続 4conn = mysql.connector.connect( 5host='localhost', 6port= '3306', 7user='root', 8password='password', 9database='keiba_db', 10 11) 12 13# 接続確認 14conn.is_connected() 15 16 17# カーソルを取得 18cur = conn.cursor() 19 20 21def load_data(/Users/name/Desktop/keiba/t_keiba/keiba_db_2021.csv): 22 with conn.cursor() as cursor: 23 sql = """ 24LOAD DATA INFILE 'keiba_db_2021.csv' 25INTO TABLE keiba_db 26CHARACTER SET utf8 27FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' 28LINES TERMINATED BY '\n' 29 """.format(/Users/name/Desktop/keiba/t_keiba/keiba_db_2021.csv) 30 cursor.execute(sql) 31# コミット 32conn.commit() 33 34# DB操作が終わったらカーソルとコネクションを閉じる 35cur.close() 36conn.close()
keiba_db.csv
1#このデータが約1万行続く 2[ 3{"bamei": " □地フルゴリラ", "hiduke": "2022/02/07", "kaisai": "大井", "waku": "3", "ninnki": "2", "junni": "1", "kisyu": "岡村健司", "kyori": "ダ1600", "baba": "良", "syuboba": "エスポワールシチー"}, 4{"bamei": " □地マテラサンオウ", "hiduke": "2022/02/09", "kaisai": "高知", "waku": "7", "ninnki": "2", "junni": "4", "kisyu": "郷間勇太", "kyori": "ダ1400", "baba": "稍", "syuboba": "ルーラーシップ"}, 5{"bamei": " ○地ユウヒノプリンス", "hiduke": "2022/01/29", "kaisai": "1小倉5", "waku": "6", "ninnki": "8", "junni": "中", "kisyu": "金子光希", "kyori": "障2860", "baba": "良", "syuboba": "アイルハヴアナザー"}, 6{"bamei": " □地インペリアルエア", "hiduke": "2022/01/20", "kaisai": "姫路", "waku": "4", "ninnki": "5", "junni": "4", "kisyu": "笹田知宏", "kyori": "ダ1400", "baba": "良", "syuboba": "フレンチデピュティ"}, 7] 8
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/16 12:11