2016-04-13 12 views
-1

これは私のコードです。私はdbからデータを選択し、このクラスオブジェクトとして設定したいと思います。Pythonは文字列に値を追加します

import MySQLdb 

db = MySQLdb.connect(host="localhost", # your host, usually localhost 
       user="me",   # your username 
       passwd="1000", # your password 
       db="something")  # name of the data base 

cur = db.cursor() 

cur.execute("SELECT img, color, title, divv FROM p_div_gerd WHERE chest = '1'") 


class Testing: 

    def __init__(self, img, color, title): 
      self.img = img 
      self.color = color 
      self.title = title 



# print all the first cell of all the rows 
for row in cur.fetchall(): 

    "t" . str(row[4]) = Parish (row[0], row[1], row[2]) 


db.close() 


print(t1.img) 
print(t1.color) 
print(t1.title) 

この行が正しくありません:

t1 
t2 
t3 

どのように私はそれを編集する必要があります。

 "t" . str(row[4]) = Parish (row[0], row[1], row[2]) 

私のような何かをしたいですか? divv列に戻る行[4]は整数です。

出力し

答えて

0
row = [1, 2, 3] 
for i in row: 
    print ("t"+str(i)) 

t1 
t2 
t3 

を、私はあなたが文字列に割り当てられた値にしようとしている理由はわかりません。これらの値を格納するには、配列またはディクショナリを使用する必要があります。私はそれが助けて欲しい

私は、これはあなたが聞きたい質問だと思う: How can you dynamically create variables via a while loop?

0

をデータから変数名を作成しようとしないでください。代わりに、配列または辞書を使用します。

辞書スタイル:

t = {} 
for row in cur.fetchall(): 
    t[str(row[4])] = Parish (row[0], row[1], row[2]) 

... 

print(t["1"].img) 
print(t["1"].color) 
print(t["1"].title) 
+0

は、コードの出力は私のためにこれです: 'T [STR(行[4])] =パリッシュ(行[0]、行[1]、行[2 ])IndexError:タプルのインデックスが範囲外です.' – niloofar

関連する問題