数据类型映射参数中的键只能使用列名

2024-02-29

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

我已经检查了我的连接字符串和架构,所有这些都很好。我知道表名存在,并且我尝试用作索引的列是 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(自我,dtype,复制,错误,**kwargs)5855
如果 col_name 不在 self 中:5856 raise KeyError( 第5857章 5858、第5858章 第5859章

KeyError:'只有列名可以用作数据类型中的键 映射参数。

今天,对于另一个表,我添加了 ddf.read_sql_table 中的所有列名,并且查询有效。但对于另一个表,我尝试通过列出所有列名来执行相同的操作,并且得到了上面的 KeyError 。

感谢大家。


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据类型映射参数中的键只能使用列名 的相关文章

随机推荐