小白学(Python数据分析与数据运营)的日常杂记4

数据化运营的数据来源

1. 从数据结构类型上来讲,包括结构化和非结构化数据;从数据来源方式来分,既有导出的数据文件、数据库等常见来源,又有流式、API等复杂系统接口和外部资源数据。

2.数据化运营的数据来源类型:数据文件、数据库、API、流式数据、外部公开数据和其他来源等。

  • 数据文件:存储数据的文件,广义上,任何文件中存储的信息都可以称为数据;狭义上,数据文件中以数字或文本形式存储的结构化的数据记录才是数据。结构化数据文件大多来源于数据库也有来源于系统或工具的工作过程或返回结果,例如Windows版本的Tesseract文字识别后的结果会存储到txt文本文件中。常见的数据格式类型包括txt、csv、tsv、xls、xlsx等;也包括xml、html、doc、sql等非常规数据格式。文件格式取决于数据处理需求,也受限于来源系统的导出格式。txt(任意指定分隔符)、cvs(以逗号分隔的数据文件)、tsv(以tab制表符分隔的数据文件)是最常用的数据文件格式。当数据文件大小在百兆级别以下时,可以使用Excel等工具打开;数据文件大小在百兆级别时,推荐使用Notepad打开;当数据文件大小在G级别时,推荐使用UltraEdit打开。
  • 数据库:数据结构来组织、存储和管理数据的仓库,数据库广泛应用于CMS(内容管理系统)、CRM(客户关系管理系统)、OA(办公自动化)、ERP(企业资源计划)、财务系统、DSS(决策支持系统)、数据仓库和数据集市、进销存管理、生产管理、仓储管理等各类企业运营事务之中。数据库的主要应用包括数据的定义、存储、增加、删除、更新、查询等事务型工作,数据传输、同步、抽取、转换、加载等数据清洗工作,数据计算、关联查询、OLAP等分析型工作以及数据权限控制、数
    据质量维护、异构数据库和多系统通信交互等工作。数据库按类型分为关系型数据库非关系型数据库。常见的关系型数据库包括DB2、Sybase、Oracle、PostgreSQL、SQLServer、MySQL等;非关系型数据库:面向高性能并发读写的键值(Key-Value)数据库:优点是具有极高的并发读写性能、查找速度快,典型代表是Redis、Tokyo  Cabinet、Voldemort。面向海量文档的文档数据库:优点是对数据要求不严格,无须提前定义和维护表结构,典型代表为MongoDB、CouchDB。面向可扩展性的列式数据库:优点是查找速度快,可扩展性强,通过分布式扩展来适应数据量的增加以及数据结构的变化,典型代表是Cassandra、HBase、Riak。面向图结构的图形数据库(Graph Database):优点是利用图结构相关算法,满足特定的数据计算需求,例如最短路径搜寻、关系查询等,典型代表是Neo4J、InfoGrid、Infinite Graph。关系型数据库中掌握DML(data manipulation language)数据操纵语言,如:SELECT、UPDATE、INSERT、DELETE。 主要用来对数据库的数据进行一些操作。DDL(data definition language)数据库定义语言:比如说:CREATE、ALTER、DROP等。DDL主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上;DCL(Data Control Language)数据库控制语言:是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。这个比较少用到。
  • API:API(Application Programming Interface)是应用程序编程接口,数据化运营中的API通常分为服务型API数据型API。服务型API可以基于预定义的规则,通过调用API实现特定功能。例如,通过调用百度地图JavaScript API可以在网站中构建功能丰富、交互性强的地图应用,这种API下输入的是地理位置数据,从API获得的输出是可视化地图(服务/功能)。数据型API则通过特定的语法,通过向服务器发送数据请求,返回特定格式的数据(或数据文件)。例如,通过向Google  Analytics的Analytics Reporting API V4发送请求来获得符合特定条件的数据记录。API广泛应用于企业内部和外部多系统和平台交互。API返回的数据格式,大多数情况下是JSON、XML格式。JSON是一种轻量级的数据交换格式,由流行的JavaScript编程语言创建,广泛应用于Web数据交互。JSON格式简洁、结构清晰,使用键值对(Key:Value)的格式存储数据对象。Key是数据对象的属性,Value是数据对象属性的对应值。例如,“性别”:“男”就是一个Key:Value结构的数据。JSON格式数据示例如下:
  • 流式数据:实时或接近实时处理的大数据流。常见的流式数据处理使用Spark、Storm和Samza等框架,能在毫秒到秒之间完成作业,用于处理时效性较强的场景,例如在线个性化推荐系统、网站用户实时行为采集和分析、物联网机器日志实时分析、金融实时消费反欺诈、实时异常人员识别等,应用领域集中在实时性较强的互联网、移动互联网、物联网等。流式数据可分为两类:第一类是用户行为数据流:围绕“人”产生的数据流,包括用户在网站和APP内部因浏览、搜索、评论、分享、交易以及在外部的微博、微信中操作而产生的数据流。用户行为数据流采集平台可分为Web站、移动站和APP(包含iOS、Android、Windows等)应用。Web站及基于HTML5开发的移动应用都支持JS脚本采集,较早开发的不支持JS的Wap站(现在基本上很少)则采用NoScript方法,即一个像素的硬图片实现数据跟踪。SDK是针对APP提供数据采集的特定方法
    和框架。这三种方法可以实现目前所有线上用户行为数据采集的需求。第二类是机器数据流:围绕“物”产生的数据流,包括
    从机器的生产、制造、应用、监控和管理等过程中产生的所有数据,例如机器运行日志、传感器监控数据、音频采集器数据、监控图像和视频、GPS地理数据等。
  • 外部公开数据:公开的任意第三方都能获取的数据。包括:政府和相关机构提供的公开数据,竞争对手主动公开的数据,行业协会或相关平台组织提供,第三方的组织或个人披露的与企业运营相关的数据。
  • 其他:如通过调研问卷获得的有关产品、客户等方面的数据,从第三方平台直接购买的数据,通过与其他厂商合作所得交互数据等。由于这些场景比较少,并且不是企业主流的数据获取来源,在此不作过多阐述。

3. 使用Python获取运营数据

使用Python获取数据,目前主要的方法集中在文本文件、Excel文件、关系型和非关系型数据库、API、网页等方面

3.1  从文本文件读取运营数据

3.1.1 使用read、readline、readlines读取数据

用Python读取文本数据的基本步骤是:
1)定义数据文件;
2)获取文件对象;
3)读取文件内容;
4)关闭文件对象。

样例:

#定义数据文件
file_name = 'text.txt'
#获取文件对象
file_object = open(file_name, 'r')
#读取文件内容,看看read, readline, readlines的区别
file_object.read()   #得到的结果为: 'line1: This is line1\nline2: This is line2'

file_object.readline()   #得到的结果为: line1: This is line1\n'

file_object.readlines()   #得到的结果为:['line1: This is line1\n', 'line2: This is line2']

3.1.2.使用Numpy的loadtxt、load、fromfile读取数据

import numpy as np
file_name = 'numpy_data.txt'
data = np.loadtxt(file_name, dtype='float32', delimiter=' ') #获取数据
print(data)

输出结果:

[[ 0.  1.  2.  3.  4.]
 [ 5.  6.  7.  8.  9.]
 [10. 11. 12. 13. 14.]]

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值