読者です 読者をやめる 読者になる 読者になる

cloverrose's blog

Python, Machine learning, Emacs, CI/CD, Webアプリなど

MySQLdbを使ってみた

Python MySQL

参考サイト

Python+MySQLdbの使い方サンプル | Kirishiki Studios

ほとんど同じなんだけど、微妙にちがうテーブル間でデータを移行したい

DjangoでMySQLdbをインストールしていたので、スクリプト書いてやってみた

old table

asin 文字列
xml 長い文字列
search_index 文字列(Books or Music)

new table

asin 文字列
xml 長い文字列
itemtype 数値(0 or 1)

以降先はDjango経由でアクセスするので、読み込みだけMySQLdbを直接利用した

import MySQLdb
connect = MySQLdb.connect(host='localhost', db='usdb', user='username', passwd='passwd')
connect.cursorclass = MySQLdb.cursors.DictCursor
cursor = connect.cursor()

cursor.execute('SELECT * FROM amazon_amazonitem WHERE search_index == %s', ('Books'))
for c, i in enumerate(cursor):
    if c % 100 == 0:
        print c
    asin = i['asin']
    xml = i['xml']
    itemtype = 0
    # 新しいデータベースにDjango経由でデータを追加

データ量が多いとメモリが足りなくなってしまう。
よってSELECTするときに、LIMITをかけて対処する