使用 pandahouse 将数据框上传到 clickhouse

问题描述

我尝试使用 pandahouse 将数据帧上传到 clickhouse。我连接到我的数据库并将数据从表转储到数据框。接下来,我尝试将此数据上传到 clickhouse 中的表,但出现错误:(

Traceback (most recent call last):
  File "C:\Users\tmedvedeva\PycharmProjects\upload_to_CH\connect_CH.py",line 17,in <module>
    ph.to_clickhouse(df,'outputt',index=False,connection=connection)
  File "C:\Users\tmedvedeva\PycharmProjects\upload_to_CH\venv\lib\site-packages\pandahouse\core.py",line 64,in to_clickhouse
    execute(query,data=to_csv(chunk),connection=connection)
  File "C:\Users\tmedvedeva\PycharmProjects\upload_to_CH\venv\lib\site-packages\pandahouse\http.py",line 48,in execute
    raise ClickhouseException(response.content)
pandahouse.http.ClickhouseException: b'Code: 27,e.displayText() = DB::Exception: Cannot parse input: expected \';\' before: \',"\xd0\xa6\xd0\xb5\xd0\xbb\xd0\xbe\xd0\xb2\xd0\xb0\xd0\xbb\xd1\x8c\xd0\xbd\xd0\xb8\xd0\xba\xd0\xbe\xd0\xb2\xd0\xb0 \xd0\xaf\xd0\xbd\xd0\xb0"\\r\\n"22","\xd0\xa2\xd0\xb0\xd0\xbb\xd0\xb0\xd0\xb5\xd0\xb2\xd0\xb0 \xd0\x95\xd0\xba\xd0\xb0\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8\xd0\xbd\xd0\xb0"\\r\\n"23","\xd0\x93\xd1\x80\xd0\xb8\xd1\x88\xd0\xb8\xd0\xbd\xd0\xb0 \xd0\x95\xd0\xba\xd0\xb0\xd1\x82\xd0\xb5\xd1\x80\xd0\xb8\xd0\xbd\xd0\xb0"\\r\\n"24","\xd0\xa2\xd0\xbe\xd1\x80\xd0\xb3\xd0\xbe\xd0\xb2\xd0\xb0 \xd0\x95\xd0\xbb\xd0\xb5\xd0\xbd\xd0\xb0"\\r\\n"2\': (at row 1)\n\nRow 1:\nColumn 0,name: id_step2,type: String,parsed text: "<DOUBLE QUOTE>21<DOUBLE QUOTE>"\nERROR: There is no delimiter (;). "," found instead.\n\n (version 20.4.5.36 (official build))\n'

来自表格的数据:

id employee_name
1 姓名 1
2 名称 2
3 名称 3

代码

from clickhouse_driver.client import Client
import pandahouse as ph
import pandas as pd

connection = dict(database='db-78',host='http://localhost:7008',user='User',password='password')

df = ph.read_clickhouse("SELECT * FROM `db-78`.outputt",connection=connection)

ph.to_clickhouse(df,connection=connection)

df = ph.read_clickhouse("SELECT id,employee_name FROM `db-78`.outputt",connection=connection)

print(df)

如果我只获取上传一列,那么它可以工作,但如果更多,我会收到错误消息。 我究竟做错了什么?错在哪里?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)