72
from pandas import DataFrame
import pyodbc

cnxn = pyodbc.connect(databasez)
cursor.execute("""SELECT ID, NAME AS Nickname, ADDRESS AS Residence FROM tablez""")
DF = DataFrame(cursor.fetchall())

これは、私の pandas DataFrame に入力するのに問題ありません。しかし、どうやって手に入れるのですか

DF.columns = ['ID', 'Nickname', 'Residence']

カーソルからまっすぐ?その情報はカーソルにまったく保存されていますか?

4

4 に答える 4

133

カーソルの説明から列を取得できます。

columns = [column[0] for column in cursor.description]

于 2012-10-03T11:23:18.300 に答える
45

最近のパンダには、read_sqlこれを行うことができるより高いレベルの機能があります

import pyodbc
import pandas as pd

cnxn = pyodbc.connect(databasez)
DF = pd.read_sql_query("SELECT ID, NAME AS Nickname, ADDRESS AS Residence FROM tablez", cnxn)
于 2013-07-05T14:52:48.283 に答える
6

前の答えを改善すると、パンダのコンテキストでは、これが私が期待するとおりに機能することがわかりました。

DF.columns = DataFrame(np.matrix(cursor.description))[0]
于 2012-10-03T23:38:18.220 に答える