2024-06-26 01:44:27 发布
网友
我使用pyodbc从sqlserver查询数据,然后在pandas中对其执行操作。我注意到一些计算的数值列返回为十进制。十进制其他的则是浮动的。这是个问题,因为算术操作数不能对两种不同类型的结果执行。在
pandas
最好的解决方法是什么?有没有pydobc设置来强制十进制。十进制漂浮?我应该自己做转换吗?还有别的事吗?在
Here是转换表(在python2.x和3.x的Results标题下),详细说明了ODBC和Python数据类型之间的转换。在
Results
或者CAST得到@aron的答案中提到的结果,或者更改数据库中的源数据类型。在
CAST
通过一些更详细的信息(特定的列数据类型、示例数据、数据库更改的灵活性),我们可以帮助确定哪个选项是最好的。在
如果编写查询,我建议只使用CAST来控制数据类型。我总是在SQLServer中显式转换计算列
SELECT CAST(ColumnA/ColumnB AS FLOAT) AS 'FieldA' FROM Table
Here是转换表(在python2.x和3.x的
Results
标题下),详细说明了ODBC和Python数据类型之间的转换。在或者
CAST
得到@aron的答案中提到的结果,或者更改数据库中的源数据类型。在通过一些更详细的信息(特定的列数据类型、示例数据、数据库更改的灵活性),我们可以帮助确定哪个选项是最好的。在
如果编写查询,我建议只使用
CAST
来控制数据类型。我总是在SQLServer中显式转换计算列相关问题 更多 >
编程相关推荐