Как преобразовать «dataframe» из SQL? - PullRequest
0 голосов
/ 09 мая 2019


Я импортирую фрейм данных из SQL в Jupyter со следующим кодом:

import pandas as pd
import pyodbc

conn = pyodbc.connect('Driver={SQL Server Native Client 11.0};'
                      'Server=SERVE_RNAME;'
                      'Database=DB_NAME;'
                      'Trusted_Connection=no;'
                      'UID=USER'
                      'PWD=PASSWORD')

cursor = conn.cursor()
cursor.execute('''
 SOME SQL QUERY (THAT I CANNOT CHANGE) GIVEN TO ME BY MY BOSS
''')

df = pd.DataFrame(cursor.fetchall())
conn.close()

Проблема в том, что когда я хочу увидеть df, я получаю

df.head()

0   [2, 1098002, 19-01-2018, MEXN, SNLP, 19-01-201...
1   [2, 1069341, 29-01-2018, VALL, GDLJ, 29-01-201...
2   [2, 1074115, 31-01-2018, MEXN, GDLJ, 31-01-201...
3   [2, 1054977, 06-01-2018, GDLJ, VALL, 06-01-201...
4   [2, 1110098, 17-01-2018, MORE, MEXN, 17-01-201...

Так что я не знаю, что здесь происходит: это проблема с моим кодом или с запросом?

В любом случае, как мне исправить это, чтобы получить правильный фрейм данных?(Решением может быть мое исправление кода или манипулирование уже имеющимся кадром данных).

Любая помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 09 мая 2019

Вы можете просто использовать read_sql () для чтения базы данных

df=pd.read_sql(sql,con)

подробнее о документации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...