Преобразовать список [adodbapi.apibase.SQLrow] в pd.DataFrame - PullRequest
0 голосов
/ 10 мая 2019

Среди соединителей sql-сервера 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

Как преобразовать этот список в pandas df?

Спасибо

Ответы [ 2 ]

1 голос
/ 05 июня 2019

Вот как я это сделал:

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)
0 голосов
/ 10 мая 2019

Это может помочь:

импорт панд как pd

.......
ur_statements
.......

query_list = [row for row in cursor]
df = pd.DataFrame({'col':query_list })
print (df)
...