我有一个熊猫数据文件,我正在写到Server中的一个表。该数据框架包含以下d类型:
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当我试图写入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表中的数据类型再次转换为十进制、浮点和返回,但似乎没有任何工作。我怎么才能解决这个问题?
发布于 2021-01-02 20:26:06
我遇到了同样的错误消息,在我的例子中,这是由pandas.DataFrame的某些列中的浮点数(‘inf’)和浮点数(‘-inf’)值引起的。我通过将无穷大值更改为1或-1来解决这个问题,这在我的项目上下文中是有意义的。或者,您可以删除这些行。
df.loc[df[col_name] == float('-inf'), col_name] = -1
df.loc[df[col_name] == float('inf'), col_name] = 1https://stackoverflow.com/questions/60157330
复制相似问题