gpt4 book ai didi

sql-server - 如何解决 Pandas 中的错误“远程过程调用协议(protocol)流中传入的表格数据流不正确”

转载 作者:行者123 更新时间:2023-12-03 08:48:53 24 4
gpt4 key购买 nike

我有一个 pandas 数据框,正在将其写入 SQL Server 中的表中。数据框包含以下数据类型:

Contact_ID                      object
Skill_No float64
Skill_Name object
Campaign_No float64
Campaign_Name object
Agent_No float64
Agent_Name object
Team_No float64
Team_Name object
Start_Date object
Disp_Code float64
Disp_Name object
Disp_Comments object

当我尝试写入 SQL Server 时,出现以下错误:

ProgrammingError: ('42000', '[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 16 (""): The supplied value is not a valid instance of data type float. Check the source data for invalid values. An example of an invalid value is data of numeric type with scale greater than precision. (8023) (SQLExecDirectW)')

我尝试将 sql 表中的数据类型转换为十进制、 float ,然后再转换回来,但似乎没有任何效果。我该如何解决这个问题?

最佳答案

我遇到了同样的错误消息,在我的例子中,这是由 pandas.DataFrame 的某些列中的某些 float('inf') 和 float('-inf') 值引起的。我通过将无穷大值更改为 1 或 -1 解决了这个问题,这在我的项目上下文中是有意义的。或者,您可以删除这些行。

    df.loc[df[col_name] == float('-inf'), col_name] = -1
df.loc[df[col_name] == float('inf'), col_name] = 1

关于sql-server - 如何解决 Pandas 中的错误“远程过程调用协议(protocol)流中传入的表格数据流不正确”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60157330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com