executemany()--插入csv文件花费的时间太长(约150,000行)

wmtdaxz3  于 2023-02-14  发布在  其他
关注(0)|答案(1)|浏览(117)

我一直在尝试使用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)
sczxawaw

sczxawaw1#

我遇到了同样的问题,我最好的选择是使用BULK INSERT(在我的例子中是MSSQL)。

相关问题