extract - 在 python 中,如何從空格分隔的文件中提取特定列?

  显示原文与译文双语对照的内容
92 5

我正在嘗試處理蛋白質資料庫中的一個文件,該文件被空格分隔( 不是 t). )我有一個. txt 文件,希望提取特定行,從那行中,我只想提取幾列。

我需要用 python 來做。我先嘗試 命令行 並使用awk命令沒有問題,但是我不知道如何在 python 中執行同樣的操作。

這是我的file:的摘錄

[...]
SEQRES 6 B 80 ALA LEU SER ILE LYS LYS ALA GLN THR PRO GLN GLN TRP 
SEQRES 7 B 80 LYS PRO 
HELIX 1 1 THR A 68 SER A 81 1 14 
HELIX 2 2 CYS A 97 LEU A 110 1 14 
HELIX 3 3 ASN A 122 SER A 133 1 12 
[...]

例如我想只取'螺旋'行,然後是 4行,6,7th 和列。我開始逐行讀取文件行,然後從'螺旋'開始提取那些行。那就是。

編輯:這是我現在有的代碼,但列印不能正常工作,只列印每個塊( 螺旋板和 DBREF )的第一行。

#!/usr/bin/python
import sys
for line in open(sys.argv[1]):
 if 'HELIX' in line:
 helix = line.split()
 elif 'SHEET'in line:
 sheet = line.split()
 elif 'DBREF' in line:
 dbref = line.split()
print (helix), (sheet), (dbref)
时间:原作者:0个回答

118 4

如果已經提取了行,則可以使用 line.split() 將它的分割。這會給你一個列表,你可以從中提取所需的所有元素:

>>> test='HELIX 2 2 CYS A 97'
>>> test.split()
['HELIX', '2', '2', 'CYS', 'A', '97']
>>> test.split()[3]
'CYS'
原作者:
...