In [1]:
# Import libraries
import pandas as pd
import sys
from sqlalchemy import create_engine, MetaData, Table, select, engine
In [2]:
print('Python version ' + sys.version)
print('Pandas version ' + pd.__version__)
Python version 3.5.1 |Anaconda custom (64-bit)| (default, Feb 16 2016, 09:49:
46) [MSC v.1900 64 bit (AMD64)]
Pandas version 0.20.1
Version 1
In this section we use the sqlalchemy library to grab data from a sql database. Make sure to use
your own ServerName, Database, TableName.
In [3]:
# Parameters
TableName = "data"
DB = {
'drivername': 'mssql+pyodbc',
'servername': 'DAVID-THINK',
#'port': '5432',
#'username': 'lynn',
#'password': '',
'database': 'BizIntel',
'driver': 'SQL Server Native Client 11.0',
'trusted_connection': 'yes',
'legacy_schema_aliasing': False
}
# Select all
sql = tbl.select()
# Insert to a dataframe
df = pd.DataFrame(data=list(result), columns=result.keys())
# Close connection
conn.close()
print('Done')
Done
Select the contents in the dataframe.
In [4]:
df.head()
Out[4]:
0 2013-01-01 A 0.00
1 2013-01-02 A 200.00
2 2013-01-03 A 1200.00
3 2013-01-04 A 1001.00
4 2013-01-05 A 1300.00
In [5]:
df.dtypes
Out[5]:
Date datetime64[ns]
Symbol object
Volume object
dtype: object
Convert to specific data types. The code below will have to be modified to match your table.
Version 2
In [6]:
import pandas.io.sql
import pyodbc
In [7]:
# Parameters
server = 'DAVID-THINK'
db = 'BizIntel'
# query db
sql = """
SELECT top 5 *
FROM data
"""
df = pandas.io.sql.read_sql(sql, conn)
df.head()
Out[7]:
0 2013-01-01 A 0.0
1 2013-01-02 A 200.0
2 2013-01-03 A 1200.0
3 2013-01-04 A 1001.0
4 2013-01-05 A 1300.0
Version 3
In [8]:
from sqlalchemy import create_engine
In [9]:
# Parameters
ServerName = "DAVID-THINK"
Database = "BizIntel"
Driver = "driver=SQL Server Native Client 11.0"
0 2013-01-01 A 0.0
1 2013-01-02 A 200.0
2 2013-01-03 A 1200.0
3 2013-01-04 A 1001.0
4 2013-01-05 A 1300.0