You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python调用API将Excel数据导入REDCap

Python调用API导入Excel医疗数据到REDCap入门指南

前置准备

  • 提前找所在机构的REDCap管理员开通项目API权限,拿到专属API Token,Token等同于项目操作密钥,严禁泄露,医疗数据操作全程需符合数据安全合规要求
  • 本地Python环境安装3个依赖库,执行命令:pip install pandas requests openpyxl
  • 提前对齐字段映射:把Excel里的列名和REDCap项目的字段名(注意是字段变量名,不是字段显示的中文标签)一一对应,比如Excel的“患者姓名”对应REDCap字段patient_name、“年龄”对应age、“合并症”对应comorbidity,字段名大小写、拼写必须完全一致,建议先从REDCap导出空数据字典逐列核对

步骤1:Excel数据预处理

直接用pandas读文件、改列名、处理格式问题,代码每一步都加了注释,改对应参数就行:

import pandas as pd

# 把引号里的路径替换成你本地Excel文件的实际存储路径
df = pd.read_excel(r"C:\本地路径\你的医疗数据文件.xlsx")

# 按照你自己的字段对应关系修改列名,有多少字段加多少行
df = df.rename(columns={
    "患者姓名": "patient_name",
    "年龄": "age",
    "合并症": "comorbidity"
})

# 把空值替换成空字符串,避免pandas的NaN值导致API报错
df = df.fillna("")

# 转成REDCap API要求的记录格式
import_records = df.to_dict("records")

注意:如果合并症是REDCap里的多选字段,必须提前把值改成选项编码用英文逗号分隔的格式,比如高血压编码是1、糖尿病编码是2,同时患两种病就存1,2,不能直接传中文选项文本,否则会识别失败。

步骤2:调用API上传数据

用requests发POST请求就行,新手不要随便改overwriteBehavior参数,避免误覆盖已有医疗数据:

import requests

# 替换成你所在机构的REDCap API地址,一般是REDCap域名加/api后缀
api_url = "https://你机构的redcap地址/api/"
# 替换成你自己拿到的API Token
api_token = "你的专属API_TOKEN"

# 构造请求参数,除了token、url、data部分,其他新手默认不用改
payload = {
    "token": api_token,
    "content": "record",
    "action": "import",
    "format": "json",
    "type": "flat",
    "overwriteBehavior": "normal",  # 固定用normal模式:仅新建记录,不覆盖已有数据,防误操作
    "forceAutoNumber": "false",
    "data": str(import_records).replace("'", '"'),  # 转成JSON兼容格式
    "returnContent": "count",
    "returnFormat": "json"
}

# 发送导入请求
resp = requests.post(api_url, data=payload)
# 打印返回结果,成功会显示成功导入的记录条数,失败会显示具体错误原因
print("导入返回结果:", resp.json())

新手避坑提示

  • 第一次导入不要直接传全量数据,先挑2-3条测试记录跑通流程,确认字段映射、数据格式完全正确后再导全量,医疗数据回溯成本很高
  • 年龄、检验值这类数值字段不要带单位,比如不要存“62岁”“120mmHg”,只存纯数字即可,否则会报格式错误
  • 如果返回403错误,先检查自己的API Token是否正确、有没有对应项目的导入权限
  • 如果返回字段错误,直接看响应里的报错信息,会明确提示哪个字段不存在、格式不符合要求,对着调整Excel数据即可
  • 不要在公共WiFi等不安全网络环境下传输患者敏感数据,操作前最好对Excel里的敏感字段做去标识化处理(如果项目允许的话)

内容的提问来源于stack exchange,提问作者alwakeel88

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 08:01:11