【发布时间】:2011-11-04 01:34:24
【问题描述】:
我正在处理两组数据:
Set 1 在单列中有 500 个成员(所有字符串) 第 2 组在两列(制表符分隔)中有 30,000 个成员,其中第 1 列是数字 ID 号,第 2 列是用 分隔的字符串列表(10,000 种可能性)。
我需要在 Set 2 的第 2 列中搜索 Set 1 中的字符串,并标记(或隔离)Set 2 中至少有 1 个匹配项的所有行。命中也需要非常具体(即,我想抓取“Jake 有一个网球”而不是“我喜欢 Jake 有一个网球包”)。如果有帮助,我可以找出我需要特别避免的所有字符串。
我从 excel ("if(isnumber(search(")) 开始,但发现嵌套 if 语句的数量是有限制的。我使用 grep 也取得了一些成功,但我意识到它是隔离行我特别需要避免的(“我喜欢杰克有一个网球包”类型的线条)。
我开始认为 python 是要走的路,但我不知道如何编码。其他人有什么建议吗?
这是第 2 组中的一个示例(ID 被欺骗以保护匿名),以便更好地了解我正在使用的内容:
1230 DEVELOPMENTAL DELAY, LANGUAGE DELAY, MOTOR DELAY
2257 MULTIPLE CONGENITAL ANOMALIES
2344 MICROCEPHALY, AUTISM SPECTRUM DISORDER, SHORT STATURE
3342 DEVELOPMENTAL DELAY, SEIZURE DISORDER, ATAXIA
7651 CONGENITAL ANOMALY, UNSPECIFIED
7869 FAMILY HISTORY OF AUTISM SPECTRUM DISORDER
在这种情况下,我将搜索“自闭症谱系障碍”一词,我想要 ID 2344 但不是 ID 7869。
感谢您的帮助!
【问题讨论】:
标签: python excel search large-data-volumes