使用 CSMAR Stata API 自动下载数据

CSMAR API 提供了 Python、R、MATLAB 和 Stata 四种接口,为我们从 CSMAR 上下载数据,提供了极大的便利性。API 支持我们在上面四种编程软件中通过直接使用代码下载数据,而不必每次都要进入 CSMAR 官网、点选框格进行数据的筛选和下载。

CSMAR Stata API 的原理是基于 Java 语言开发的 Stata 插件(目前仅支持Windows 系统),通过调用插件相关方法来实现 CSMAR 数据库的数据查询、筛选、下载等功能。

  • 用户登录:login "account" "pwd"
    • account:用户名/已验证电话/已验证邮箱
    • pwd:密码
    • 注意:这里登录的账号,必须是个人账号,不能使用机构账号
  • 设置语言:setLanguage "lang"
    • 中文:CH、英文:EN
    • 如不设置语言则默认中文
  • 查看已购买的数据库名称:getDbs
  • 查看已购买的数据表名称:getTables "databaseName"
    • databaseName:数据库名称,可通过 getDbs 获得
  • 查看已购买数据表中所有的字段:getFields"tableName"
    • tableName:表名称,可通过 getTables "databaseName" 获得
  • 预览数据:preview "tableName"
    • tableName:表名称,可通过 getTables "databaseName" 获得
  • 查询已购买的数据表记录条数:getDataCount "columns" "condition" "tableName" "startTime" "endTime"
    • columns:字段列表
      • "Cuntrycd,Stkcd,Stknme,Conme"
    • condition:条件,类似 SQL 条件语句
      • "Stkcd like'3%'", 但不支持 order by(该命令有默认的排序方式)
    • tableName:表名称,可通过 getTables "databaseName" 查看
    • startTime 和 endTime:下载数据时间区间的开始时间和结束时间
      • 时间关键字参数(非必填,如需填写格式为:YYYY-MM-DD)
  • 查询已购买的数据表数据:getData "columns" "condition" "tableName" "startTime" "endTime"
    • 一次最多只能加载 20 万条记录
    • condition:如超过 20 万记录的数据可使用 limit 进行分页查询,假设是 40 万条,需分两次进行条件设置
      • 第一次:"Stkcd like'3%' limit 0,200000"
      • 第二次:"Stkcd like'3%' limit 200000,200000"
  • 打包数据:pack "columns" "condition" "tableName" "startTime" "endTime"
  • 该命令返回一个唯一标识:signCode
  • 获取 Stata 下载记录详情:getRecord "signCode"
    • signCode 是通过调用 pack 命令获取,非必填,为空时返回所有通过 Stata 下载的记录
  • 下载数据:copy "sourcePath""targetPath"
    • sourcePath:文件来源路径通过 getRecord "signCode" 中的 filepath 获得
    • targetPath:文件存放路径(电脑已有目录,压缩包名称可根据实际需求而定)

你可能感兴趣的:(使用 CSMAR Stata API 自动下载数据)