步骤1:获取链接
import dolphindb as ddb
from loguru import logger
def get_dolphin_session():
"""获取dolphinDB的session"""
dolphin_config = {
"host": "127.0.0.1",
"port": 13900,
"username": "admin",
"password": "123456",
}
s = ddb.session()
_result = s.connect(dolphin_config['host'], dolphin_config['port'], dolphin_config['username'],
dolphin_config['password'])
if not _result:
logger.error("DolphinDB 数据库无法连接!!")
return None
return s
步骤2:开始保存数据
这里博主打包了一个工具类:
def dolphin_append_data_by_dt(dolphin_db_path, db_table_name, dataframe,
partition_col="trade_date"):
"""直接保存dataframe的数据到dolphin_db中
注意:dataframe的index无法添加
-----------------------------
dolphin_db_path: 为要保存的数据库,示例:"dfs://my_db"
db_table_name: 为要保存的表名称,示例:"my_table"
partition_col: 用于指定创建数据库的时候作为分区的列(这里需要根据自己的dataframe修改,比如博主想按照日期分区,对应的博主的dataframe中有一列叫trade_date)
"""
dataframe.reset_index(inplace=True, drop=True)
if not s.existsTable(dolphin_db_path, db_table_name): # 如果表不存在,按照当前样式的文件创建数据表
_db = s.database(dbPath=dolphin_db_path)
_table = s.table(data=dataframe)
_db.createPartitionedTable(table=_table, tableName=db_table_name, partitionColumns=partition_col).append(_table)
return # 保存完成
else:
print("数据表已经存在了")