0
私は100万レコードのCSVファイルを持っていますが、私は22分かかる単列の挿入を使用しています load data infileを使うと60秒かかりますセキュリティ目的) 他のオプションは、複数の挿入または多数の実行です 複数の挿入を使用する方法、forループを使用して多くを実行する方法が混乱します.Iカウンタが一度に100行をチェックし、 100行と、ファイルの終わりまで、私は行数をチェックし、1で割ったシエルを使用していますアドバンスmysqlのpythonに複数の挿入を含むcsvファイルを挿入します
#!/usr/bin/env python
import csv
import MySQLdb
import pysftp
import smtplib
#connection to
conn = MySQLdb.connect(host="xxxxx", # The Host
user="file_auto_proc", # username
passwd="[email protected]!", # password
db="xxxxx") # name of the data base
x = conn.cursor()
try:
csv_data = csv.reader(file('Disc.csv'))
for row in csv_data:
x.execute("INSERT INTO fp_feed_stg (col1,col2) VALUES(%s, %s)", row)
conn.commit()
except Exception, e:
print repr(e)
print("Not inserted")
conn.close()
あなたはプログラムでpythonを使用する必要がありますか? MySQLは、mysqlシェルを使用してcsvファイルを読み取ることができます。おそらくこれをbashスクリプトに変換し、代わりにmysqlシェルを使用してください。 –