有一个问题。如何将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”时,结果是没有标题。那么我怎么才能收到它们呢?
答案 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)