2016-10-03 2 views
6

Ich Frage eine SQL-Datenbank und ich möchte Pandas verwenden, um die Daten zu verarbeiten. Ich bin mir jedoch nicht sicher, wie ich die Daten verschieben soll. Unten ist meine Eingabe und Ausgabe.Verschiebe Daten von pyodbc zu 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

Habe ich es einfach aus. Bitte sehen Sie die Antwort. – polonius11

Antwort

13

Eine kürzere und präzise Antwort

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

Ich dachte Weg über diese!

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

Eine andere, schnellere Methode. Bitte beachten Sie data = 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) 
Verwandte Themen