MySQL クエリからの列情報の取得
MySQLdb を使用して Python アプリケーションを開発するときの一般的なタスクの 1 つは、SQL クエリを実行して結果を取得することです。列の名前と値。デフォルトでは、cursor.fetchall() は列情報を含まないデータのみを返します。
列ヘッダーを取得するには、cursor.description 属性を利用します。これはタプルのタプルを提供し、内部の各タプルには列に関する情報が含まれます。各内部タプルの最初の要素は列ヘッダーです。
SQL クエリでユーザー指定の列を正確に反映するには、次の手順を検討してください。
<code class="python">cursor.execute(sql) num_fields = len(cursor.description) field_names = [i[0] for i in cursor.description]</code>
このコードは、
特定の Python の例では、コードを変更して列名を抽出できます。
<code class="python">import MySQLdb # Connect to MySQL db = MySQLdb.connect(...) # Execute the query cursor = db.cursor() cursor.execute(""" select ext, sum(size) as totalsize, count(*) as filecount from fileindex group by ext order by totalsize desc; """) # Get column headers num_fields = len(cursor.description) field_names = [i[0] for i in cursor.description] # Fetch and print the results while (1): row = cursor.fetchone() if row == None: break print(" ".join("{}={}".format(field_names[i], row[i]) for i in range(num_fields))) cursor.close() db.close()</code>
この強化されたコードは、各行の列ヘッダーと対応するデータ値の両方を正しく取得して出力するようになりました。
以上がPython を使用して MySQL クエリから列ヘッダーを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。