-1

以下のコード(PHP)のようなことができるようにしたい:

while($row = mysql_fetch_array($result)){
    $name = $row['name'];
    $event = $row['event'];

パイソンで。したがって、インデックスで要素を取得します。最善の方法は何ですか?

4

2 に答える 2

3

はい、型に組み込まれている辞書を使用します。

d = {'name': 'user'}
print d['name']
user
于 2012-10-31T12:21:55.497 に答える
1

MySQLdb パッケージの DictCursor オブジェクトを使用します。これにより、通常のタプルではなく、結果セットに辞書 (マッピング) が生成されます。

import MySQLdb                                                                                                                      
from MySQLdb import cursors

def fetchallmap(self, q, *args):                                                                                                
    """Fetch all rows into a dictionary.                                                                                        
    """                                                                                                                         
    curs = self._connection.cursor(cursors.DictCursor)                                                                                   
    curs.execute(q, args)                                                                                                       
    res = curs.fetchall()                                                                                                       
    curs.close()                                                                                                                
    self._connection.commit()                                                                                                            
    return res

これにより、辞書 (マッピング) のリストが返されます。1行だけが必要な場合は、fetchoone代わりにfetchall.

def fetchonemap(self, q, *args):                                                                                                
    """Fetch one row into a dictionary.                                                                                         
    """                                                                                                                         
    curs = self._connection.cursor(cursors.DictCursor)                                                                                   
    curs.execute(q, args)                                                                                                       
    res = curs.fetchone()                                                                                                       
    curs.close()                                                                                                                
    self._connection.commit()                                                                                                            
    return res                                                                                                                  
于 2012-10-31T12:38:14.070 に答える