在python中创建基于关键字的搜索

2024-06-25 23:38:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个巨大的CSV文件,有将近6K个条目,文件看起来像这样:

PDB ID  NDB ID  Structure Title  Citation Title     Abstract
1ET4    1ET4    Structure of     Solution structure Research was performed and 
                haemoglobin mRNA of mRNA aptamer    structure of mRNa was obtained
                aptamer.

我的最终目标是显示给定关键字的输出,如下所示:

^{pr2}$

我的出发点是什么?另外,我需要使用一个名为Regex的东西来实现这个目的吗?在

免责声明:这是研究项目的一部分,不是学校作业。在

伪代码或模板对我来说很好。在


Tags: 文件ofcsvabstractidtitle条目structure
2条回答

您可以解析CSV文件并创建两个数据结构。两本词典。在

一个字典将包含每一行,关键字为PDB ID。另一个字典将存储PDB ID的集合,并键入关键字。在

下面只是示例代码,因为我忽略了头。你可能想正确地解析csv。。。在

from collections import defaultdict
entries = {}
keywords = defaultdict(set)

with open('my_csv.csv') as f:
    for line in f:
        entries[line.split()[0]] = line  # so keying on the PDB ID

with open('my_csv.csv') as f:
    for line in f:
        for kw in line.split()[1:]
            keywords[kw].add(line.split()[0])

一旦有了这两个数据结构,在关键字dict中查找关键字、遍历集合并用相关的PDB id打印出每一行都应该很简单

无法查看正则表达式。尝试下列库http://docs.python.org/2/library/csv.html 你也可以通过在谷歌上输入“csv python”找到。在

里面有很多例子。在

相关问题 更多 >