2016-10-03 2 views
6

Я запрашиваю базу данных SQL, и я хочу использовать pandas для обработки данных. Однако я не уверен, как перемещать данные. Ниже приведены данные ввода и вывода.Переместить данные из pyobbc в pandas

import pyodbc 
import pandas 
from pandas import DataFrame 

cnxn = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\users\bartogre\desktop\CorpRentalPivot1.accdb;UID="";PWD="";') 
crsr = cnxn.cursor() 
for table_name in crsr.tables(tableType='TABLE'): 
    print(table_name) 
cursor = cnxn.cursor() 
sql = "Select sum(CYTM), sum(PYTM), BRAND From data Group By BRAND" 
cursor.execute(sql) 
for data in cursor.fetchall(): 
    print (data) 

('C:\\users\\bartogre\\desktop\\CorpRentalPivot1.accdb', None, 'Data', 'TABLE', None) 
('C:\\users\\bartogre\\desktop\\CorpRentalPivot1.accdb', None, 'SFDB', 'TABLE', None) 
(Decimal('78071898.71'), Decimal('82192672.29'), 'A') 
(Decimal('12120663.79'), Decimal('13278814.52'), 'B') 
+0

Я просто понял это. См. Ответ. – polonius11

ответ

13

Более короткий и более кратким ответом

import pyodbc 
import pandas 
cnxn = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};' 
         r'DBQ=C:\users\bartogre\desktop\data.mdb;') 
sql = "Select sum(CYTM), sum(PYTM), BRAND From data Group By BRAND" 
data = pandas.read_sql(sql,cnxn) 
4

Я был путь через мышление это!

cnxn = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\users\bartogre\desktop\CorpRentalPivot1.accdb;UID="";PWD="";') 
crsr = cnxn.cursor() 
for table_name in crsr.tables(tableType='TABLE'): 
    print(table_name) 
cursor = cnxn.cursor() 
sql = "Select sum(CYTM), sum(PYTM), BRAND From data Group By BRAND" 
cursor.execute(sql) 
data = cursor.fetchall() 
print(data) 
Data = pandas.DataFrame(data) 
print(Data) 
5

Другой, более быстрый метод. Пожалуйста, смотрите данные = pd.read_sql (SQL, CnXn)

import pyodbc 
import pandas as pd 
from pandas import DataFrame 
from pandas.tools import plotting 
from scipy import stats 
import matplotlib.pyplot as plt 
import seaborn as sns 

cnxn = pyodbc.connect(r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=C:\users\bartogre\desktop\data.mdb;UID="";PWD="";') 
crsr = cnxn.cursor() 
for table_name in crsr.tables(tableType='TABLE'): 
    print(table_name) 
cursor = cnxn.cursor() 
sql = "Select *" 
sql = sql + " From data" 
print(sql) 
cursor.execute(sql) 
data = pd.read_sql(sql, cnxn) 
Смежные вопросы