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

标签 python pandas adodbapi

在 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

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

谢谢

最佳答案

我就是这样做的:

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)

关于python - 将 list[adodbapi.apibase.SQLrow] 转换为 pd.DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56075159/

相关文章:

python - 在 pandas 数据帧上运行套索和岭回归

python - 从 Python 创建 SQL Server 数据库

python - ADODBAPI 与数据库的打开连接数

python - pandas:将函数应用于数据框列中的每个唯一元素并合并回输出

python - 为什么我在执行 GroupBy 后会丢失数据?

python - 按 pandas 中的操作分组

php - 获取最后插入的索引mysql

python - 请求包中的 Session 对象是否支持状态码?

python - 从十六进制转换为 base64

python - 如何从 Python 的子进程中捕获 sys.exit()?