2016-12-21 8 views
0

内の文字列のセットをインポートすることができます私は、Webからいくつかの情報をスクラップしようとしていますし、私は以下のようにそれを行う場合、それはあなたがqueryを見れば、それはタブ区切りですは、どのように私はのparam

import urllib,urllib2 

url = 'http://www.uniprot.org/uploadlists/' 
file_res = open('cytoscape.txt','w') 

params = { 
'from':'ACC', 
'to':'GENENAME', 
'format':'tab', 
'query':'P13368 P20806 Q9UM73 P97793 Q17192' 
} 

の作品私はと呼ばれるテキストファイルを作ったので、上記の場合の入力5つの入力

は今、私は例として

data.txt私はtxtファイルでこれを貼り付け、test.txt

それを呼び出す10000入力したデータをインポートしよう
'Q92828 O60907 O75376 O15143 O15144 O15145 P61158 P61160 P59998 O15511' 

、その後、私はそれを

私は常にエラーを取得しています
with open('test.txt') as f: 
params = { 
'from':'ACC', 
'to':'GENENAME', 
'format':'tab', 
'query': 'f' 
} 

をインポートしてみてください。どのようなアイデア、どのように私はこれを行うことができます?

私はあなたのPythonコードこのエラーに

params = { ^IndentationError: expected an indented block

+1

... *何*エラー? – jonrsharpe

+0

@jonrsharpe IndentationError:インデントされたブロックがあることを予告しました – nik

+0

投稿したコードを見てください。つまり、paramsへの割り当ては正しくインデントされていません。 – jonrsharpe

答えて

2
  1. を取得していますが、正しくインデントする必要があります。
  2. コード内のクエリは文字列fであり、ファイルの内容もファイルの内容もありません。

試してみてください。

with open('test.txt') as f: 
    params = {   # this statement has to be indented one level 
     'from':'ACC',  # these lines are indented just for readability 
     'to':'GENENAME', 
     'format':'tab', 
     'query': f.read() # this actually reads the content of the file 
    } 
+0

ありがとう。私は同じエラーが発生します。これを 'text.txt'ファイル' Q92828 O60907 O75376 O15143 O15144 O15145 P61158 P61160 P59998 O15511 ''に貼り付けて、あなたの解決策を実行してください。 – nik

+2

*' params = {' '}'を閉じる。これは、インデントの意味です。それは基本的にPythonについて知っておくべき最初のものです。 (免責事項:私はそれが* 4スペースではないことを知っています、私は単純化しています) –

+0

OH MY GOD!私はこの問題を理解するために自分自身をキリンしています。感謝、ありがとうございます:-D私はあなたの答えを好きで受け入れました – nik