2017-07-31 17 views
0

私はPythonを初めて、特にpymysqlライブラリです。Pymysqlライブラリはデータベースに純粋なデータを返しません

私のデータベースからクエリを作成したいと思います。クエリが実行されたとき、その結果はデー​​タベース内の純粋なレコードではなく、かっこと "、"マークなどがあります。

これは私のコードです。

あなたが私に

from pymysql import * 
def database_connector(): 
db = connect(host="localhost",port=3306,user="root",passwd="", 
db='telegrambot',charset='utf8') 
return db 
def question_return(tests_id,questions_id): 
db=database_connector() 
cursor=db.cursor() 
cursor.execute("""SELECT question FROM questions WHERE test_id = '%s' AND 
question_id = '%s';""",(tests_id,questions_id)) 
return_value = cursor.fetchall() 
return return_value 

print (question_return(1,1)) 

に答え、それはこのようないくつかの事を印刷する場合、私は感謝してます。

(('What is your name ?',),) 

と私はちょうど括弧やその他のマーク

What is your name ? 

せずにこのような何かを印刷することがタプルを返すので、この

どうもありがとう

+0

にカーソルクラスを宣言します( 'fetchAllのため)'タプルのタプルを返します。 –

+0

どのような関数とモジュールをデータベースの純粋なデータを返すのに使うべきですか? –

+0

純粋なデータを返すのは*です。そして、あなたはどんな "機能やモジュール"も必要としません。 –

答えて

0

を行うにはどのように私を助けてくださいタプルのうち、それを反復する必要があります。以下のコードを見つけてください。

from pymysql import * 
def database_connector(): 
    db = connect(host="localhost",port=3306,user="root",passwd="", 
    db='telegrambot',charset='utf8') 
    return db 
def question_return(tests_id,questions_id): 
    db=database_connector() 
    cursor=db.cursor() 
    cursor.execute("""SELECT question FROM questions WHERE test_id = '%s' AND 
    question_id = '%s';""",(tests_id,questions_id)) 
    return_value = cursor.fetchall() 
    return return_value 

for r in question_return(1,1): 
    print r[0] 
0

データベースコネクタ宣言

from pymysql import * 

def database_connector(): 
    db = connect(
     host="localhost", 
     port=3306, 
     user="root", 
     passwd="", 
     db='telegrambot', 
     charset='utf8' 
     cursorclass=pymysql.cursors.DictCursor # <-- declare cursor class 
    ) 
return db 

def question_return(tests_id,questions_id): 
    try: 
     with database_connector() as cursor 
      query = "SELECT question FROM questions WHERE test_id = '%s' AND question_id = '%s';" 
      cursor.execute(query, (tests_id,questions_id)) 
      return cursor 
    finally: 
     database_connector().close() 

with question_return(1,1) as pointer: 
    for row in pointer.fetchall(): 
     print(row['question']) 
関連する問題