← ClaudeAtlas

dolphindb-finance-dataimportlisted

金融数据导入 — 将 CSV 文件导入到已存在的 DolphinDB 表中
dolphindb/DolphinX_Skill · ★ 8 · Data & Documents · score 58
Install: claude install-skill dolphindb/DolphinX_Skill
# /dolphindb-finance-dataimport — 金融数据导入 适用于:已有建好的 DolphinDB 数据库和表,需要将 CSV 文件导入到表中。 > **本 skill 只负责导入数据**,不负责建库建表。建库建表请调用 `/dolphindb-finance-dbtbcreate`。 ## 执行流程 ### Step 1: 收集用户输入 用 `AskUserQuestion` 收集以下参数。每个问题独立调用,纯文本输入(**不要设置 options**),用户通过"Other"填写。 **问题 1 — CSV 文件路径**(必填) - 直接提问:"请输入 CSV 文件在 DDB 服务器上的绝对路径" - 不设 options,用户通过"Other"填写路径 **问题 2 — 数据库路径**(必填) - 直接提问:"请输入目标数据库路径,例如 dfs://DB_split_SH" **问题 3 — 表名**(必填) - 直接提问:"请输入目标表名,例如 TB_split_SH_entrust" ### Step 2: 验证目标库表存在 #### 2.1 执行验证 直接提交以下代码给 DolphinX 平台执行: ```dos print("=== VERIFY ==="); print("DB_EXISTS=" + string(existsDatabase("{数据库路径}"))); print("TB_EXISTS=" + string(existsTable("{数据库路径}", "{表名}"))); ``` 读取 `=== VERIFY ===` 后的 `DB_EXISTS` 和 `TB_EXISTS` 值。 #### 2.2 检查结果 - 任一为 `False` → 报错终止,提示用户先运行 `/dolphindb-finance-dbtbcreate` 建库建表 - 均为 `True` → **做 schema 对比,检查表结构是否与 CSV 兼容**: 直接提交以下代码给 DolphinX 平台执行: ```dos print("=== CSV_COLUMNS ==="); print(extractTextSchema("{CSV路径}")); print("=== TABLE_COLUMNS ==="); colDefs = schema(loadTable("{数据库路径}", "{表名}")).colDefs; print(select name, typeString from colDefs); print("=== TABLE_COLUMN_ORDER ==="); print(select name from colDefs); ``` AI 助手读取三条输出后推理判断兼容性: - `order_mismatch=true` → **表结构与 CSV 列顺序不兼容**,说明库表名已存在但可能是旧表(公共列相对顺序不一致) - 其他情况(仅有 `type_mismatches`、`leading_table_only`、`trailing_table_only`)→ 直接进入 Step 3,这些差异由导入脚本自动处理 #### 2.3 处理不兼容 当 `order_mismatch=true` 时,用 `AskUserQuestion` 询问用户: ``` 目标库 {数据库路径} 和表 {表名} 已存在