Попробуй попасть в дб только один раз.Вы можете вставить несколько строк в один оператор вставки, как показано ниже.
INSERT INTO tbl_name
(a,b,c)
VALUES
(1,2,3),
(4,5,6),
(7,8,9);
Выполнить оператор cursor.execute () вне внутреннего цикла for, чтобы выполнить запрос с несколькими строками одновременно.Добавление кода для справки.
import xlrd
import MySQLdb
import os
import glob
database=MySQLdb.connect()
for filepath in glob.iglob('folder\\*.xlsx')
path=filepath
workbook = xlrd.open_workbook(path)
sheet = workbook.sheet_by_index(0)
cursor=database.cursor()
query="""insert into tx_shape_files(col1,col2,...col6) values(%s,%s,%s,%s,%s,%s)"""
all_values = []
for r in range(1,sheet.nrows):
col1=sheet.cell(r,0).value
col2=sheet.cell(r,1).value
col3=sheet.cell(r,2).value
col4=sheet.cell(r,3).value
col5=sheet.cell(r,4).value
col6=sheet.cell(r,5).value
values=(col1,col2,...col6)
all_values.append(values)
cursor.execute(query, all_values)
cursor.close()
database.commit()
print("Done")
columns=str(sheet.ncols)
rows=str(sheet.nrows)
print("Imported " +columns+ " columns and "+ rows+" rows to MYSQL")
database.close()