学习Pandas,第 9 课
英文原文: 09 - Lesson
从微软的 sql 数据库将数据导出到 csv, excel 或者文本文件中。
# 导入库
import pandas as pd
import sys
from sqlalchemy import create_engine, MetaData, Table, select
print('Python version ' + sys.version)
print('Pandas version ' + pd.__version__)
Python version 3.6.1 | packaged by conda-forge | (default, Mar 23 2017, 21:57:00)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)]
Pandas version 0.19.2
从SQL数据库抓取数据
这一部分我们使用 sqlalchemy 从 sql 数据库中抓取数据。 请注意,数据库参数你需要自己来修改。
# 参数,修改成你自己的数据库,服务器和表
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
}
# 创建数据库连接
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()
# 查询表所需要的配置
metadata = MetaData(conn)
# 需要查询的表
tbl = Table(TableName, metadata, autoload=True, schema="dbo")
#tbl.create(checkfirst=True)
# Select all
sql = tbl.select()
# 执行 sql 代码
result = conn.execute(sql)
# 数据放到一个 dataframe 中
df = pd.DataFrame(data=list(result), columns=result.keys())
# 关闭连接
conn.close()
print('Done')
Done
所有导出的文件都会被存到 notebook 相同的目录下。
导出到 CSV 文件
df.to_csv('DimDate.csv', index=False)
print('Done')
Done
导出到 Excel 文件
df.to_excel('DimDate.xls', index=False)
print('Done')
Done
导出到 TXT 文本文件
df.to_csv('DimDate.txt', index=False)
print('Done')
Done
This tutorial was created by HEDARO
本教程由派兰数据翻译
These tutorials are also available through an email course, please visit http://www.hedaro.com/pandas-tutorial to sign up today.