我用Python从网上搜集了一些棒球数据,并将其保存在Pandas数据框中。其中一列包含数字播放器标识代码,但通常为空。因为Pandas整型列不能包含nan,所以当我将数据导出到csv时,此列已转换为float并保存为这样。在
当我尝试在mssqlserver数据库中运行大容量插入时,这会导致问题,因为相关列被定义为“INT”类型(并且还包含另一个表的外键约束)。引发以下错误消息:
Bulk load data conversion error (type mismatch or invalid character for the specified codepage)
我尝试了here提供的建议,但似乎更改float的格式并不能解决问题,而且SQLServer仍然会抛出相同的错误。在
我知道,像pyodbc这样的包提供了将数据传输到数据库的另一种方法,但是我的数据帧相当大(大约6百万行,70列),而且我发现这个过程太慢了,至少与保存到csv和导入相比。在
我怎样才能最好地解决这个问题?最后,我并不想保存到csv并在sqlserver中使用大容量插入,但我确实想要一个同样快的方法。在
这将把所有空白值填充到所需的值(例如负值)。有关更多参数,请参见documentation。在
相关问题 更多 >
编程相关推荐