第八课: - 从Microsoft SQL数据库读取
第 8 课
如何从Microsoft SQL数据库中提取数据
# Import libraries
import pandas as pd
import sys
from sqlalchemy import create_engine, MetaData, Table, select, engine
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
版本1
在本节中,我们使用sqlalchemy库从sql数据库中获取数据。确保使用您自己的ServerName,Database,TableName。
# 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
} # Create the connection
engine = create_engine(DB['drivername'] + '://' + DB['servername'] + '/' + DB['database'] + '?' + 'driver=' + DB['driver'] + ';' + 'trusted_connection=' + DB['trusted_connection'], legacy_schema_aliasing=DB['legacy_schema_aliasing'])
conn = engine.connect() # Required for querying tables
metadata = MetaData(conn) # Table to query
tbl = Table(TableName, metadata, autoload=True, schema="dbo")
#tbl.create(checkfirst=True) # Select all
sql = tbl.select() # run sql code
result = conn.execute(sql) # Insert to a dataframe
df = pd.DataFrame(data=list(result), columns=result.keys()) # Close connection
conn.close() print('Done')
Done
df.head()
| Date | Symbol | Volume | |
|---|---|---|---|
| 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 |
df.dtypes
Date datetime64[ns]
Symbol object
Volume object
dtype: object
转换为特定的数据类型。下面的代码必须修改成符合你的表。
版本 2
import pandas.io.sql
import pyodbc
# Parameters
server = 'DAVID-THINK'
db = 'BizIntel' # Create the connection
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=' + DB['servername'] + ';DATABASE=' + DB['database'] + ';Trusted_Connection=yes') # query db
sql = """ SELECT top 5 *
FROM data """
df = pandas.io.sql.read_sql(sql, conn)
df.head()
| Date | Symbol | Volume | |
|---|---|---|---|
| 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 |
版本 3
from sqlalchemy import create_engine
# Parameters
ServerName = "DAVID-THINK"
Database = "BizIntel"
Driver = "driver=SQL Server Native Client 11.0" # Create the connection
engine = create_engine('mssql+pyodbc://' + ServerName + '/' + Database + "?" + Driver) df = pd.read_sql_query("SELECT top 5 * FROM data", engine)
df
| Date | Symbol | Volume | |
|---|---|---|---|
| 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 |
This tutorial was rewrited by CDS.
第八课: - 从Microsoft SQL数据库读取的更多相关文章
- Microsoft SQL - 数据库管理系统
数据库管理系统(Server Management Studio) SQL Server Management Studio是一个数据库管理系统软件,数据库可以看成是一个个存储数据的文件,而Manag ...
- Microsoft SQL - 学习总目录
Microsoft SQL - 数据库管理系统 Microsoft SQL - 数据类型 Microsoft SQL - 查询与更新 Microsoft SQL - 操作语句 Microsoft SQ ...
- ASP.NET动态网站制作(15)-- SQL数据库(1)
前言:数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,用户可以对文件中的数据进行增.删.改.查.数据库有很多种类型,从简单的存储有各种数据的表格到能都进行海量数据存储的大型数据库 ...
- 此操作只能由 SQL Server 中拥有配置数据库读取权限的用户在已加入到某个服务器场的计算机上执行
错误提示:此操作只能由 SQL Server 中拥有配置数据库读取权限的用户在已加入到某个服务器场的计算机上执行.若要将此服务器连接到服务器场,请使用 SharePoint 产品配置向导,该向导可从 ...
- Microsoft SQL Server 数据库 错误号大全
panchzh :Microsoft SQL Server 数据库 错误号大全0 操作成功完成. 1 功能错误. 2 系统找不到指定的文件. 3 系统找不到指定的路径. 4 系统无法打开文件. 5 拒 ...
- C#读取csv、xls、sql数据库的实现
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...
- jquery autocomplete实现读取sql数据库自动补全TextBox
转自我本良人 原文 jquery autocomplete实现读取sql数据库自动补全TextBox 项目需要这样子一个功能,其他部门提的意见,只好去实现了哦,搞了好久才弄出来,分享一下. 1.前台页 ...
- Jmeter—8 连接microsoft sql server数据库取数据
本文以Jmeter 连接microsoft sql server为例. 1 从微软官网下载Microsoft SQL Server JDBC Driver 地址:http://www.microsof ...
- Microsoft SQL Server,附加数据库 错误:Error 916解决方法
错误信息:错误提示:标题: Microsoft SQL Server Management Studio Express —————————— 无法为此请求检索数据. (Microsoft.SqlS ...
随机推荐
- .Net Core 中X509Certificate2 私钥保存为 pem 的方法
在自己签发CA证书和颁发X509证书时,私钥通过下面的方法保存为PEM 相关代码可以已经提交在了 https://github.com/q2g/q2g-helper-pem-nuget/pull/13 ...
- js与Jquery的对比
// document.getElementById("divCommit").style.display="none";// document.g ...
- Python学习教程(Python学习视频_Python学些路线):Day06 函数和模块的使用
Python学习教程(Python学习视频_Python学些路线):函数和模块的使用 在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解. $$x_1 + x_2 + x ...
- 【WPS】表格使用VBA宏编程写入ini文件实现软件多语言
前言:公司软件最近在做多语言版本,而又来一个西班牙文版本的,之前已经做过中文版本,英文版本和法文版本,之前是同事做的,现在安排我做,之前的做法,使用wps表格,翻译好,然后一个一个复制粘贴到ini文件 ...
- C#datetime判断日期输入是否正确
//7.输入年月日,看看格式是否正确.利用DateTime. //(1) //DateTime dt=DateTime.Now; //Console.Write("请输入现在的年:" ...
- NOIP2015 DAY2 T1跳石头
传送门 题目背景 一年一度的“跳石头”比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 N 块 ...
- android 下载网络图片并缓存
异步下载网络图片,并提供是否缓存至内存或外部文件的功能 异步加载类AsyncImageLoader public void downloadImage(final String url, final ...
- Nexus私服的搭建
1.nexus 介绍 是开源的,用该框架架设maven私有服务器 2.nexus私服环境搭建 把nexus.war包放到tomcat的webapps下面 浏览且登录 ...
- RedisTemplate Api总结
RedisTemplate 使用总结 最近在做一个项目,考虑到有累计,排行,缓存等功能:而Redis是一个基于内存的数据库,而且提供了 字符串(String), 哈希(Map), 列表(list), ...
- HDU 1599
裸的FLOYD 求最小环. #include <iostream> #include <cstdio> using namespace std; ; ; int n,m,min ...