.xlsxファイルからSQLデータベースにデータをインポートしようとしています。 は今、私はデータベース .xlsxファイルをMySQLデータベースにロードする最速の方法
- にopenpyxlとのMySQLdbモジュールを使用するPythonスクリプトを持って
- ブックを開く行スルーワークシート
- ループをつかみますワークシート、必要な列を抽出する 各レコードを1つずつデータベースに挿入する
残念ながら、これは非常に遅いです。私は巨大なデータセットを扱っているので、これを行うためのより速い方法を見つける必要があります(できればPythonで)。何か案は?
wb = openpyxl.load_workbook(filename="file", read_only=True)
ws = wb['My Worksheet']
conn = MySQLdb.connect()
cursor = conn.cursor()
cursor.execute("SET autocommit = 0")
for row in ws.iter_rows(row_offset=1):
sql_row = # data i need
cursor.execute("INSERT sql_row")
conn.commit()
現在のコードのスニペットを含めることはできますか?どのバージョンのSQLを使用していますか?解決策は、現状で何をしているかに応じて、SQLで自動コミットをオフにするか、DBに行を入力する正確な方法を変更する可能性があります。 –