我一直在尝试使用executemony()插入csv文件(~150,000行)到一个表中。但是,当我运行程序时,它仍然处于空闲状态,我必须使用KeyboardInterrupt来中断它。或者,我能够INSERT~10,使用forloop和cursor. execute()可以插入000行数据,但理想情况下,我希望有一个选项可以让我更有效地插入更大的数据集。
代码如下:
with open('data.csv','r') as csv_file:
csvfile = csv.reader(csv_file, delimiter=',')
all_value = []
for row in csvfile:
value = (row[0], row[1], row[2], row[3], row[4], row[5])
all_value.append(value)
query = ("INSERT INTO lane_data (carrier, origin_zip, dest_zip, act_transit_days, est_transit_days, loads) "
"VALUES (%s, %s, %s, %s, %s, %s)")
cursor.executemany(query, all_value)
1条答案
按热度按时间sczxawaw1#
我遇到了同样的问题,我最好的选择是使用BULK INSERT(在我的例子中是MSSQL)。