如何通过executemany()语句转换数据帧以进行插入?

我有一个相当大的dataframe-50个左右的头和几十万行数据,我希望使用ceODBC模块将这些数据传输到数据库。以前我使用的是pyodbc,并在for循环中使用了一个简单的execute语句,但这花费了相当长的时间(每10分钟1000条记录)

我现在正在尝试一个新模块,并尝试引入executemany(),尽管我不太确定以下参数序列的含义:

cursor.executemany(““”插入到表中。名称(a、b、c、d、e、f)
值(?,,,,,参数的顺序)

它应该看起来像一个通过每个标题工作的常量列表吗

['asdas','1','2014-12-01','true','asdasd','asdas','2',',
“2014-12-02”、“正确”、“asfasd”、“asdfs”、“3”、“2014-12-03”、“错误”、“asdasd”]
  • 其中,这是三行的示例

或者需要什么格式

另一个相关的问题是,我如何将常规数据帧转换成这种格式

谢谢

您可以尝试以下方法:

cursor.executemany(sql\u str,您的\u dataframe.values.tolist())

希望能有帮助

发表评论