项目笔记

225 阅读1分钟

clickhouse数据导出为json(带表头)

clickhouse-client -h 127.0.0.1 --database="dbup" --query="select * form db.test_table" --format CSVWithNames> test.json

clickhouse导入json格式数据

clickhouse-client -h 127.0.0.1 --database="dbup" --query="insert into db.test_table" --format CSVWithNames < test.json

clickhouse导入csv格式数据

(不带表头)clickhouse-client -h 127.0.0.1 --database="dbup" --query="insert into db.test_table FORMAT CSV" < test.csv 
(带表头)clickhouse-client -h 127.0.0.1 --database="dbup" --query="insert into db.test_table" --format CSVWithNames < test.csv

json数据存入redis

import json
import redis
 
class RedisTT(object):
 def __init__(self):
  self.host = 'localhost'
  self.port = '6379'
  self.r = redis.StrictRedis(host=self.host, port=self.port)
 
 def insertRedis(self, keyName, jsonStr): # 存入到redis中
  self.r.lpush(keyName, jsonStr)
 
def save1():
 someexpert = {}
 someexpert['id'] = 10000
 someexpert['realname'] = 'expert-a'
 someexpert['organization'] = 'BUAA'
 if RedisTT().r.exists('someexpert'):
  RedisTT().r.delete('someexpert') # 删除key为someexpert的键值对
 RedisTT().insertRedis(keyName='someexpert', jsonStr=json.dumps(someexpert))
 
def save2():
 frameworks = ['vue', 'react', 'angular']
 if RedisTT().r.exists('frameworks'):
  RedisTT().r.delete('frameworks') # 删除key为frameworks的键值对
 RedisTT().insertRedis(keyName='frameworks', jsonStr=json.dumps(frameworks))
 
if __name__ == "__main__":
 save1()
 save2()
 
 print(RedisTT().r.lrange('someexpert', 0, RedisTT().r.llen('someexpert')))
 print(RedisTT().r.lrange('frameworks', 0, RedisTT().r.llen('frameworks')))

数据源接口

http.client

import http.client  
conn = http.client.HTTPSConnection("127.0.0.1", 8081) 
payload = '' 
headers = { 'User-Agent': 'apifox/1.0.0 (https://www.apifox.cn)' } 
conn.request("GET", "/api/v1/datasource/list", payload, headers) 
res = conn.getresponse() 
data = res.read() 
print(data.decode("utf-8"))

from dataclasses import dataclass
from typing import Optional, List


@dataclass
class Datum:
    data_source_name: Optional[str] = None
    data_source_type: Optional[str] = None


@dataclass
class ResponseModal:
    code: int
    data: List[Datum]
    msg: str

request

import requests
url = "http://127.0.0.1:9001/api/v1/datasource/list"

payload={}
headers = {
   'User-Agent': 'apifox/1.0.0 (https://www.apifox.cn)'
} 
response = requests.request("GET", url, headers=headers, data=payload) 
print(response.text)

数据源下的数据库

import http.client

conn = http.client.HTTPSConnection("127.0.0.1",9001)
payload = ''
headers = {
   'User-Agent': 'apifox/1.0.0 (https://www.apifox.cn)'
}

conn.request("GET", "127.0.0.1:9001/api/v1/db/list?dataSourceType=%3CdataSourceType%3E", payload, headers)

res = conn.getresponse()

data = res.read()

print(data.decode("utf-8"))