2016-10-03 24 views
6

Tôi đang truy vấn cơ sở dữ liệu SQL và tôi muốn sử dụng gấu trúc để xử lý dữ liệu. Tuy nhiên, tôi không chắc chắn làm thế nào để di chuyển dữ liệu. Dưới đây là đầu vào và đầu ra của tôi.Di chuyển dữ liệu từ pyodbc sang gấu trúc

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

tôi chỉ figured it out. Xin vui lòng xem câu trả lời. – polonius11

Trả lời

13

Một câu trả lời ngắn và súc tích hơn

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

tôi đã cách hơn suy nghĩ thế này!

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

Phương thức khác nhanh hơn. Xin vui lòng xem = dữ liệu 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) 
Các vấn đề liên quan