dtype映射参数中的键只能使用列名

我已经使用dask read_sql_table从oracle数据库成功引入了一个表。但是,当我尝试引入另一个表时,出现此错误 KeyError:“只有列名可以用作dtype映射参数中的键。”

我已经检查了我的连接字符串和架构,所有这些都很好。我知道表名存在,而我要用作索引的列是oracle数据库中表的主键。

有人可以解释为什么当列名明确存在时会发生此错误吗?

我知道我可以使用Pandas块,但在这种情况下宁愿使用dask。

下面是我如何连接到oracle数据库和错误消息的最后一位

host='*******'
port='*****'
sid='****'
user='******'
password='*****'

con_string = 'oracle://' + user + ':' + password + '@' + host + ':' + port + '/' + sid 
engine = create_engine(con_string)

df =ddf.read_sql_table('table_name',uri=con_string,index_col='id',npartitions=None,schema='*****')
  

〜\ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ pandas \ core \ generic.py   在astype中(self,dtype,copy,errors,** kwargs)5855
  如果col_name不在自身中:5856引发KeyError(   -> 5857“ dtype映射中的” 5858“键只能使用列名   论点。” 5859)

     

KeyError:'仅列名称可用于dtype中的键   映射参数。”

今天,对于另一个表,我在ddf.read_sql_table中添加了所有列名称,并且查询有效。但是对于另一个表,我试图通过列出所有列名来做同样的事情,并且得到上面的KeyError。

谢谢大家。

hejunyan2010 回答:dtype映射参数中的键只能使用列名

当列名不匹配或dtype映射中存在表中不存在的列时,通常会发生此错误。

本文链接:https://www.f2er.com/3126435.html

大家都在问