我正在使用python在apache cassandra中插入一个数据帧,但AttributeError返回错误:“bool”对象没有属性“encode”
cluster = Cluster(['127.0.0.1'])
session = cluster.connect()
def acessa_banco(palavra):
session.execute("""CREATE KEYSPACE IF NOT EXISTS %s WITH replication = {'class': 'SimpleStrategy', 'replication_factor' :'1' }""" % palavra)
session.set_keyspace(palavra)
session.execute("""
create table if not exists stg_pesquisa_twitter(
usuario text
,localizacao text
,total_amigos int
,total_seguidores int
,total_listas int
,total_likes int
,status_verificado textfi‹
,total_status int
,total_retweet int
,tweet text
,PRIMARY KEY(usuario)
) WITH comment='Informacao dos twitter mais pesquisados';
"""
)
# insert da tabela
query = "insert into stg_pesquisa_twitter (usuario, localizacao, total_amigos, total_seguidores, total_listas, total_likes, status_verificado, total_status, total_retweet, tweet) \
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
prepared = session.prepare(query)
for index, row in txt.iterrows():
session.execute(prepared
,(row['usuario']
, row['localizacao']
, row['total_amigos']
, row['total_seguidores']
, row['total_listas']
, row['total_likes']
, row['status_verificado']
, row['total_status']
, row['total_retweet']
, row['tweet'])
)
这个问题很老,但仍然没有答案,我今天遇到了类似的错误,所以:
根据表定义,字段可以是“text”或“int”
您正在准备查询,因此Cassandra驱动程序将尝试正确转换您提供的值,以将它们插入查询中
此错误表示驱动程序试图将布尔值编码为字符串:
因此,对于至少一个定义为“text”的列,您提供了一个布尔值。要解决此问题,请找到哪些值是布尔值并将其转换为字符串
相关问题 更多 >
编程相关推荐