2012-03-13 36 views
8

我是MySQLdb的新手。我需要從存儲在MySQL中的預定義數據庫中讀取值。我的問題是收集值時,它們是元組格式,而不是字符串格式。所以我的問題:有沒有辦法將元組轉換爲字符串?將MySQLdb從元組返回到Python中的字符串

下面是我的代碼

import MySQLdb 

#get value from database 
conn = MySQLdb.connect("localhost", "root", "123", "book") 
cursor = conn.cursor() 
cursor.execute("SELECT koc FROM entries") 
Koc_pre = str(cursor.fetchone()) 

#create a input form by Django and assign pre-defined value 
class Inp(forms.Form): 
    Koc = forms.FloatField(required=True,label=mark_safe('K<sub>OC</sub> (mL/g OC)'),initial=Koc_pre) 

#write out this input form 
class InputPage(webapp.RequestHandler): 
    def get(self): 
     html = str(Inp()) 
     self.response.out.write(html) 

輸出爲元組格式 「的Koc =( '5')」 的細節,但我想 「KOC = 5」。所以任何人都可以給我一些建議或參考書我應該檢查?

在此先感謝!

回答

18

如果您只想一次檢索一個值(即使用cursor.fetchone()獲取一列),那麼您可以更改代碼,以便獲取元組中的第一個元素。

Koc_pre = str(cursor.fetchone()[0]) 
+0

謝謝!如果我需要檢索多個值(我可能一次只讀一行)怎麼辦? – 2012-03-14 00:50:11

+1

不幸的是,處理這個問題的唯一方法是手動爲元組賦值('id = tuple [0]','col1 = tuple [1]'等)。我會建議編寫一個通用的MySQL命令函數來提交查詢並返回一個元組。這樣,您可以更輕鬆地在需要的地方處理返回的元組。 – 2012-03-14 01:17:03

+0

謝謝。還有任何推薦的書籍Python-MySQL項目? – 2012-03-14 13:17:11