一、前情提要
从分析需求(提出假设)-数据获取-数据处理-数据统计分析( 机器学习 )-输出结果(假设验证)整个数据分析工作流程中,虽然数据获取还未接触到数据分析最为核心的内容,但却是整个工作中最为基础的一步,如果缺少这一步,后续的处理和统计分析均无从下手。
数据获取,从文件类型作为区分点,目前至少有以下三种方式:
- 数据库,常见的数据获取方式;
- excel、csv等可直接通过文件打开和存储数据,但由于无法存储大批量数据以及查询统计效率较低等问题,在常规的批量数据分析中无法适用;
- 网络爬虫获取的数据源,虽有接触,但本文暂不讨论。
本文主要讨论从数据库中获取数据的方式,虽然可直接在数据库工具中用sql语句进行数据查询与导出,但鉴于复杂的多维度的统计以及数据库工具鸡肋的导出功能,因此本文选用python来连接oracle数据库。
可在实际连接使用中会出现诸如编码、oracle客户端不存在、python版本与数据库版本不兼容等问题,本文在借鉴前人的经验,记录这些问题的解决方案,以供参考。
笔者电脑安装环境与使用工具如下:
- 电脑系统,Windows7 - 专业版 - 64位
- python3.6.1 - 64位
- pycharm17.3 - 64位
- navicat premium11.0.17 - 64位
二、问题提要
经查阅资料,发现python需要借助cx_Oracle第三方库来连接oracle数据库,因此有以下步骤:
- 调出cmd窗口,输入 pip install cx_Oracle ,显示成功安装 cx_Oracle第三方库;
- 在pycharm新建一个py文件,输入以下内容:
import cx_Oracle as oracle
conn = oracle.connect('username', 'password', 'ip:port/sid')
(1)username,数据库账户名
(2)password,数据库账户密码
(3)ip,数据库的ip地址
(4)port,数据库端口
(5)sid,数据库服务名