pymsql和pandas

时间:2016-07-13 13:32:42

标签: python sql pandas pymssql

有一个问题。如何将sql查询中的列名添加到pandas dataframe中。我正在做下一个但是columns = columns在我的情况下不起作用。

import pymssql
import pandas as pd


con = pymssql.connect(
     server="MSSQLSERVER",
     port="1433",
     user="us",
     password="pass",
     database="loc")

cur = conn.cursor()

cur.execute("SELECT id from ide")

data=cur.fetchall()

pandas=pd.DataFrame(data)

cur.close()
con.close()

因此,当我打印“pandas”时,结果是没有标题。那么我怎么才能收到它们呢?

2 个答案:

答案 0 :(得分:4)

我还发现向光标对象添加as_dict = True可以正常工作:

cur = conn.cursor(as_dict=True)

然后,您可以按需运行其余部分:

cur.execute("SELECT id from ide")
data=cur.fetchall()
pandas=pd.DataFrame(data)

大熊猫将从词典​​中获取列名

答案 1 :(得分:2)

首先建立连接:我看到你使用了MSSQL

import pyodbc
# Parameters
server = 'server_name'
db = 'db_name'

# Create the connection
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=' + server + ';DATABASE=' + db + ';Trusted_Connection=yes')

然后使用pandas:

df = pandas.read_sql(sql, conn)