私はPythonを使って.xlsxファイルからMySQLデータベースにデータを読み込もうとしています。ここでPythonで.xlsxファイルを読む最速の方法
は私のコードです:残念ながら
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()
、openpyxlのws.iter_rows()痛々しいほど遅いです。私はxlrdとpandasモジュールを使って同様の方法を試みました。まだ遅いです。何かご意見は?
あなたは 'pd.read_excel( 'filename.xlsx'、 'sheetname')。to_sql(...、conn_details、..)'を調べましたか? – Zero
編集:ws.iter_rowsの場合のみ、ws.rowsでrow_offsetを使用することはできないようです。 ws.rowsの方が速いかどうか分かりません。 – citizen2077
シートをCSV形式で保存し、 'read_csv'を使用すると時間が大幅に短縮されます。 'read_excel'はPythonコードを使用し、' read_csv'はCを使用します。 – ayhan