【发布时间】:2014-02-07 02:04:32
【问题描述】:
我有一个难题:我正在开发供内部使用的医疗设备制造商和型号的关系数据库。此数据的来源(来自 FDA 的转储)非常脏,并以 CSV 格式提供,因此它被导入到一个没有相关键开始的表中。
同时,我希望移动导入的数据输入
- 制造商表
- 型号表(相对于制造商)
...供我的应用程序使用
虽然通过唯一索引很容易匹配精确的制造商和型号名称,或去除特殊字符的制造商和型号名称字符串,但问题似乎是在很多情况下,名称存在后缀和变体,如:
- 圣裘德
- ST JUDES, INC
- ST JUDES - 神经
- ST JUDES INC 有氧运动
- 圣裘德国际
理想情况下,所有这些都应该是 1 条制造商记录,一旦从 CSV 导入表移动到我正在开发供内部使用的表结构。
三个也将是每周一次的批处理作业,下载一个新的 CSV,导入 CSV 的表,并更新内部表结构。
我最初的想法是使用 soundex 值的唯一索引或干净的字符串,但鉴于上面的示例,这些都不起作用。
关于如何完成此任务的任何建议?我熟悉 Bash、SQL、PHP 和一点 Python。这是脏 CSV 的一个非常小的 sn-p。对于所有 CSV,大约有 3000 万条记录
http://www.accessdata.fda.gov/MAUDE/ftparea/foidev2013.zip
【问题讨论】:
标签: php mysql regex database bash