我有一个巨大的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.
我的最终目标是显示给定关键字的输出:
Keyword: mRNA
PDB ID NDB ID Structure Title Citation Title Abstract Location of first hit
struc/citation/abstract
什么是我的起点?另外,我是否必须使用一种名为Regex的东西?
免责声明:这是研究项目的一部分,而不是学校的家庭作业。
伪代码或模板对我来说很棒。
答案 0 :(得分:1)
您可以解析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的每一行应该是微不足道的。
答案 1 :(得分:0)
无法查看正则表达式。试试以下库http://docs.python.org/2/library/csv.html 你也可以在google上输入“csv python”找到。
那里有很多例子。