我正在尝试将 Pandas 数据框插入 Clickhouse。
这是我的代码
import pandas
import sqlalchemy as sa
uri = 'clickhouse://default:@localhost/default'
ch_db = sa.create_engine(uri)
pdf = pandas.DataFrame.from_records([
{'year': 1994, 'first_name': 'Vova'},
{'year': 1995, 'first_name': 'Anja'},
{'year': 1996, 'first_name': 'Vasja'},
{'year': 1997, 'first_name': 'Petja'},
])
pdf.to_sql('test_humans', ch_db, if_exists='append', index=False)
这就是我收到的错误。这是否与缺少有关引擎的额外参数有关?我怎样才能解决这个问题?
异常:代码:62,e.displayText() = DB::Exception:语法错误:
在位置 65(第 7 行,第 2 栏)处失败:FORMAT
TabSeparatedWithNamesAndTypes。预期之一:发动机、存储
定义(版本19.15.2.2(官方版本))
Logging
信息:sqlalchemy.engine.base.Engine:存在表 test_ humans
信息:sqlalchemy.engine.base.Engine:{}
信息:sqlalchemy.engine.base.Engine:创建表 test_ humans (
名字文本,
年 BIGINT )
信息:sqlalchemy.engine.base.Engine:{}
信息:sqlalchemy.engine.base.Engine:回滚
从0.2.0版本开始clickhouse_driver实现方法insert_dataframe
. See: https://clickhouse-driver.readthedocs.io/en/latest/api.html#clickhouse_driver.Client.insert_dataframe https://clickhouse-driver.readthedocs.io/en/latest/api.html#clickhouse_driver.Client.insert_dataframe
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)