困惑。一个 clickhouse 的命令字符串要怎么写才是正确的呢?

sjmcefc2 1月前 16

clickhouse-client --format_csv_delimiter="^C" --query="INSERT INTO tutorial.TABLE FORMAT CSV" < CSV.txt

想着把上面的命令写到 python 的 call 中,应该怎么写才能正确调用呢?“”这种字符串总是会断掉正常的解析。用 r 也貌似没有用处。 或者调用这样的命令还有什么比较好的方式呢?

最新回复 (4)
  • NilChan 28天前
    引用 2
    看成了 clubhouse
  • 楼主 sjmcefc2 28天前
    引用 3
    感觉应该是^C 这个符号,是不是要转义呢
  • yzwduck 28天前
    引用 4
    对于复杂的命令行,我觉得直接传递参数数组会容易一些,转义交给 Python 来做。
    PS: 我没有 clickhouse 环境,所以没测试过是否正确。

    fobj = open('CSV.txt', 'rb')
    p = subprocess.call(['clickhouse-client', '--format_csv_delimiter=^C', '--query=INSERT INTO tutorial.TABLE FORMAT CSV'], stdin=fobj)
  • 楼主 sjmcefc2 28天前
    引用 5
    @yzwduck 这个提示--format_csv_delimiter="" --query= "INSERT INTO tutorial.table FORMAT CSV "< /home/ja/data/data/csv.txt
    Code: 19. DB::Exception: A setting's value string has to be an exactly one character long
  • 游客
    6
返回