2016-11-02 3 views
0

ACはアクセッション番号のリストです。 AC = ['P02649 \ n'、 'Q59297 \'、...] アクセス番号に対応するURLを開き、各URLのすべてのデータを他のリスト(pdblines)、各行に登録するリストの要素でなければなりません。オンラインページからのデータの保存

しかし、私のプログラムは以下の最後のアクセッション番号でのみ動作しますが...

def recup_file(AC): 
    for code in AC : 
     code = code.strip() 
     file = "http://www.uniprot.org/uniprot/%s.txt" %code 
     pdblines = str(urllib.request.urlopen(file).read()).split('\\n') 
    return pdblines 

はどのようにして、各番号のデータのリストを作成することができますか?何かアドバイス ?

答えて

0

あなたのループの各ステップで、pdblines = str(urllib.request.urlopen(file).read()).split('\\n')という行は、現在の値pdblinesを新しいものに置き換えます。

おそらくすべての値を含むリストです。残念ながら

def recup_file(AC): 
    pdblines = [] 
    for code in AC : 
     code = code.strip() 
     file = "http://www.uniprot.org/uniprot/%s.txt" %code 
     pdblines.append(str(urllib.request.urlopen(file).read()).split('\\n')) 
    return pdblines 
+0

同じ問題:だからあなたがしなければならない:ループ

  • はこれを試して、各ループステップ
  • でリストに新しい値を追加する前に

    1. は空のリストを宣言します:リストを作成しますが、リストAC:['P02649 \ n'、 'Q59297 \'、...]から最後の受託番号のみを作成しますので、Q59297 ...のリストpdblを作成します。: –

    +0

    その他アイディア ? –

    関連する問題