3
我試圖使用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.rows row_offset,只能用ws.iter_rows。並且我不確定ws.rows是否更快 – citizen2077
將工作表另存爲CSV並使用'read_csv'可顯着縮短時間。 'read_excel'使用Python代碼,而'read_csv'使用C. – ayhan