2016-08-24 9 views
-1

私はMySQLデータベースからデータを取り出しています。これをPythonのリストに変換します。 フェッチされるデータは整数型であるため、文字列内の文字を見つけるためにインデックスとして渡しています。 私は、テキスト内の文字を見つけるために、どのように私はインデックスとして私のリストを扱い、文字列に渡すことができ、次のエラーリストをPythonの整数として解釈する方法

TypeError: 'list' object cannot be interpreted as an index 

を取得していますか?

は、ここでは、int型のようなリストを扱うcan't私のコード

import urllib2 
import MySQLdb as mdb 

con = mdb.connect('localhost', 'root', 'root', 'sample_db'); 

with con: 

    cur1 = con.cursor() 
    cur1.execute("SELECT site_id FROM positive_outcomes") 

    row1 = [item[0] for item in cur1.fetchall()] 

site_id_list = row1 

uniprot_url = "http://www.uniprot.org/uniprot/" # constant Uniprot Namespace 

def get_fasta(site): 

    with open('Q9L422_112.fasta', 'r') as myfile: 
     data=myfile.read() 
     str1 = data[site:site+20] 
     temp = data[site-1:site-1-20:-1] 
     str2 = temp[::-1] 
     print str2+str1 


def main(): 
    # iterate over the list of IDS 
    for k,v in enumerate(site_id_list): 
     get_fasta(v) 

    # or read from a text file 
    # input_file = open("positive_copy.txt").readlines() 
    # get_fasta(input_file) 


if __name__ == '__main__': 
    main() 
+1

コードを表示してください –

+0

エラーの原因となるコードを追加してください。 – Julien

+0

@akashkarothiya、今すぐチェックしてください –

答えて

0

リストの一つの値を回復する(と解析、それをそれが必要とされる場合)、またはリストにint型を割り当てるための辞書を使用することができます推測

私は、例外がここ

row1 = [item[0] for item in cur1.fetchall()] 

あなたが欲しい、おそらく

です推測します
row1 = [(item[0] for item in cur1.fetchall())[0]] 

それでも、あまり効率的ではありません。代わりに

row1 = [cur1.fetchone()[0]] 

結果が見つかりません場合curl.fetchone()Noneを返す可能性があるのでそれは、しかし、まだ安全ではありませんcursor.fetchone()を使用してください。

0

です。

var dict = {1: your_list} 

か::だから

int i = (int)your_list[i] 
関連する問題