numpy “TypeError:Object of type 'float' has no len()”at clickhouse insert function

dluptydi  于 7个月前  发布在  ClickHouse
关注(0)|答案(1)|浏览(165)

我有数据集上传到clickhouse服务器。我使用pandas在dataframe中进行转换,然后通过clickhouse_connect.insert()函数插入。我通过clickhouse_connect.command()函数在clickhouse服务器中创建了一个表。但我在插入时遇到了错误:类型为“float”的对象没有len()。
实际上,主要问题是在我将所有列的数据类型改为字符串之前(但它们不是)。我改变了他们,因为我有错误:所需参数不是整数。
所以,当我试图理解我的错误时,我认为主要问题可能与dataframe列和clickhouse服务器列的数据类型有关。
顺便说一下,我没有使用任何len()函数。

pn9klfpd

pn9klfpd1#

请包括错误的堆栈跟踪。
在任何情况下,你几乎可以肯定是正确的,Pandas DataFrame中的数据必须与你试图插入的ClickHouse列具有相同的类型,或者可以转换为相同的类型。如果将数据更改为字符串,然后尝试插入ClickHouse Float或Int列,插入通常会失败。
你应该调试你的原始错误“required argument is not an integer”。如果您能提供该错误的堆栈跟踪,应该可以找到您的问题。

相关问题