← 全部项目

研发与专利多源数据整合

如何把来源和表头都不一致的研发投入、上市公司与专利数据整理成可分析的公司—年度面板?

跟着图解看项目怎么完成从数据到结果,逐步查看处理过程
2026 · 研发与专利整合

项目介绍

研发投入、上市公司和专利数据来自不同文件,表头可能出现在不同位置,年份和公司名称也不完全统一。手工修一份表并不难,麻烦在于下一年、下一批文件还会出现新的“只差一点”。如果规则只对当前文件有效,合并完成也不能算真正完成。

4.85万专利记录
2.16万匹配研发记录
12年2010—2021覆盖
双键证券代码×年份
PythonPandasExcel数据匹配质量检查Trae

项目过程

把不同年份的专利资料整理成相同格式,再按公司与年份补充到研发表。项目交付的是合并数据与匹配说明。

1确认研发主表与年度专利文件的关系

  1. 读取研发投入主表
  2. 读取 2010—2021 年的 12 份年度专利文件
  3. 确认证券代码、日期与年度来源
  4. 准备按公司和年份匹配

明确的输入文件与关联字段,以及可重复执行的运行入口。

工具与方法:Python · Pandas · CSV / Excel · 命令行参数

查看处理方法与依据收起处理方法与依据
  1. 读取研发投入主表
  2. 读取 2010—2021 年的 12 份年度专利文件
  3. 确认证券代码、日期与年度来源
  4. 准备按公司和年份匹配
输入材料记录内容在合并中承担什么作用
研发主表读取指定研发文件;要求证券代码和统计截止日期由 --rd-file 指定
专利目录按文件名排序读取目录中的全部 .xlsx 和 .csv;本次原任务共 12 年由 --patent-dir 指定,代码没有写死只能读取 12 份
读取类型CSV 与 Excel 均按字符串读取字段保留股票代码前导零,后续只单独解析需要的日期
输出位置由 --output 指定文件路径,必要时创建上级目录扩展名为 .csv 时导出 CSV,否则导出 Excel

原课程任务使用 2010—2021 年共 48,468 条专利记录,与研发主表匹配。脚本本身按目录中的文件逐个读取,新增符合格式的年度文件后可以继续使用同样流程。

2识别两种表头格式

  1. 读取当前表格列名
  2. 列名包含必需字段 → 直接使用
  3. 否则检查第一行是否包含字段名
  4. 确认后调整表头;仍不符合要求则提示原因

字段名称一致、可以继续读取公司代码的年度表格。

工具与方法:Pandas · 必需字段检查 · 两类表头识别

查看处理方法与依据收起处理方法与依据
  1. 读取当前表格列名
  2. 列名包含必需字段 → 直接使用
  3. 否则检查第一行是否包含字段名
  4. 确认后调整表头;仍不符合要求则提示原因
遇到什么情况程序检查什么随后怎样处理
已有正确列名研发表查找“证券代码”,专利表查找“股票代码”找到后直接复制表格继续处理
当前列名不符合要求读取第一条数据行,将各项转为字符串并去首尾空格若含必需字段,把这一行改为列名,并从第二条数据行开始保留
空表或仍找不到字段抛出带具体字段名的错误停止本次处理,不猜测字段位置
研发日期字段表头处理后另外检查“统计截止日期”缺少时报告错误

例如专利表当前列名不含“股票代码”,但第一条数据行中包含该名称,程序就将这条数据行设为表头。代码只识别这两种位置,不扫描整份文件寻找任意行的表头。

3统一证券代码,并提取对应年份

  1. 证券代码去空格、去交易所后缀并补足六位
  2. 从研发统计截止日期提取年份
  3. 从专利文件名提取年份
  4. 用证券代码+年份作为共同匹配条件

格式统一的六位证券代码和年份字段。

工具与方法:Pandas 字符串处理 · 正则表达式 · 日期解析

查看处理方法与依据收起处理方法与依据
  1. 证券代码去空格、去交易所后缀并补足六位
  2. 从研发统计截止日期提取年份
  3. 从专利文件名提取年份
  4. 用证券代码+年份作为共同匹配条件
匹配字段来源或处理规则示意
证券代码转字符串 → 去首尾空格 → 删除末尾“点+英文字母”后缀 → 左侧补 0 至六位“ 000001.SZ ”得到“000001”;“1”得到“000001”
研发年份将“统计截止日期”解析为日期,再取年份;无效日期会报错示例 2020-12-31 得到 2020
专利年份在不含扩展名的文件名中寻找第一个 20xx 年份示例“专利_2020.xlsx”得到 2020;找不到则报错
匹配条件研发“证券代码+年份”对应专利“股票代码+年份”代码和年份必须同时相同

表中的代码、日期和文件名均为格式示例。补零处理不会把超过六位的字符串截断,脚本也没有验证代码是否真实属于上市公司;这一步完成的是字段格式统一。

4以研发记录为主表合并专利信息

  1. 将 12 份年度专利表纵向合并
  2. 以研发表作为左侧主表
  3. 按证券代码+年份进行左连接
  4. 匹配成功时补入专利字段,未匹配时保留缺失

保留研发记录并补充专利字段的合并表,同时保留未匹配状态。

工具与方法:Pandas concat · 按公司与年份左连接 · 匹配结果检查

查看处理方法与依据收起处理方法与依据
  1. 将 12 份年度专利表纵向合并
  2. 以研发表作为左侧主表
  3. 按证券代码+年份进行左连接
  4. 匹配成功时补入专利字段,未匹配时保留缺失
执行环节实际规则对结果的影响
年度表追加把各年度专利表按行 concat,重新生成行索引先形成一张含年份的专利表
匹配字段左侧为证券代码、年份;右侧为股票代码、年份使用左连接,保留研发表记录
未匹配专利侧字段保持缺失,不填 0区分没有匹配到资料与已记录的零专利
重复匹配代码允许 many_to_many,没有在合并前自动去重或汇总同一条件左侧 2 行、右侧 3 行,会产生 6 行匹配结果

假设研发表有某公司 2020 年的一条记录,专利表有同公司 2020 年的一条记录,输出将两边字段放在同一行。若专利表只有该公司 2019 年记录,则 2020 年研发记录保留,专利字段为空。

左连接保留主表记录,但输出行数不一定等于主表行数。重复匹配例子用于说明执行规则;原课程统计结果另外列在下一步。

5核对匹配结果,再导出可分析的数据

  1. 对合并结果统计总行数
  2. 统计“股票代码”非空的输出行数,作为匹配行数
  3. 按输出扩展名写入 CSV 或 Excel
  4. 对照原课程汇总记录,说明匹配数量与比例

合并数据文件、匹配数量与汇总验证说明。

工具与方法:行数与匹配率核验 · Pandas 导出 · 合成样本复现

查看处理方法与依据收起处理方法与依据
  1. 对合并结果统计总行数
  2. 统计“股票代码”非空的输出行数,作为匹配行数
  3. 按输出扩展名写入 CSV 或 Excel
  4. 对照原课程汇总记录,说明匹配数量与比例
核对或导出内容怎样计算或执行阅读时怎样理解
脚本总行数直接统计合并后的行数重复匹配会影响这个数字
脚本成功匹配数统计输出中“股票代码”非空的行数这是匹配输出行数,不是自动去重后的公司数量
文件格式CSV 使用 utf-8-sig 编码;Excel 不保存 DataFrame 行索引均按指定路径保存
原任务汇总研发主表 24,078 条,成功匹配 21,605 条,约 89.73%数字来自原课程汇总核验记录
公开样本用于复现两类表头、代码统一与左连接不用于重现原任务规模与统计总量

当前公开脚本自动打印的是合并输出总行数和匹配行数。匹配率、研发主表原始行数和 12 年汇总数字来自单独保存的原课程核验记录,网页将两部分分别说明。

结果

  1. 01

    统一不同文件的表头、证券代码与年份,并将各年度专利数据纵向合并。

  2. 02

    以研发数据为左表,按证券代码和年份补充专利字段,保留全部研发记录及未匹配状态。

  3. 03

    输出合并表与匹配统计,完成后续分析所需的数据准备;本项目未开展统计分析或因果分析。

数据处理中的判断与操作

本项目完成的是数据处理。我先统一表头、证券代码和年份,再以研发数据为左表,按“证券代码+年份”左连接专利数据:保留研发表的全部记录,匹配成功时补充专利字段,未匹配时保留缺失值。合并后检查匹配情况与记录数量,输出供后续研究使用的表格;本项目没有开展研发投入与专利产出之间的数据分析。

我与 AI 如何完成项目

Trae

个人完成。本人定义匹配键、数据质量规则与输出结构,审核自动识别结果并完成最终验证。

任务怎样被拆开

我把课程要求、各批Excel文件和希望得到的公司—年度面板交给Trae,先讨论哪些字段必须统一、哪些键适合连接,以及需要怎样记录匹配失败。

Trae负责哪些工作

Trae生成文件扫描、表头探测、字段别名、批量读取、双键匹配和质量报告代码。我负责决定证券代码与年份作为主要匹配键,并检查自动识别是否误读说明行、合并单元格和多级表头。

我怎样确认批量结果可以继续分析

我检查重复键、缺失值、匹配率、异常年份和未匹配清单。程序能够输出合并表只代表代码完成运行;只有数据损失能够被定位,结果才适合进入后续分析。

公开版本怎样保护原始资料

真实课程数据受到授权限制,公开仓库使用结构一致的合成样例。代码、字段规则和测试可以公开,真实公司数据不随仓库发布。

参考与使用说明

结果适用范围
  • 真实原始数据受授权限制不公开,仓库只提供结构一致的合成样例。
  • 专利数量不直接等于创新质量,后续研究仍需加入专利类型、引用与行业背景。
  • 数据整合建立的是相关分析基础,不自动证明研发投入带来专利增长。

查看项目动画图解 ↗

下一个项目Power BI 销售分析报表|实习培训项目
项目截图打开原文件 ↗
100%滚轮缩放 · 拖动查看