将 list[adodbapi.apibase.SQLrow] 转换为 pd.DataFrame

sha*_*odh 2 python adodbapi pandas

sql-server 连接器adodbapi是唯一在我的环境中工作的连接器。

import adodbapi

conn = adodbapi.connect("PROVIDER=SQLOLEDB;Data Source={0};Database={1}; \
       UID={2};PWD={3};".format(server,db,user,pwd))
cursor = conn.cursor()
query_list = [row for row in cursor]

type(query_list[0]) = adodbapi.apibase.SQLrow
Run Code Online (Sandbox Code Playgroud)

如何将此列表转换为 pandas df?

谢谢

小智 6

我就是这样做的:

import adodbapi as ado
import numpy as np
import pandas as pd

def get_df(data):
    ar = np.array(data.ado_results) # turn ado results into a numpy array
    df = pd.DataFrame(ar).transpose() # create a dataframe from the array
    df.columns = data.columnNames.keys() # set column names
    return df

with ado.connect('yourconnectionstring') as con:
    with con.cursor() as cur:
        sql_str = 'yourquery'
        cur.execute(sql_str)
        data = cur.fetchall()
        df = get_df(data)
Run Code Online (Sandbox Code Playgroud)