Python数据可视化编程实战——导入数据
1.从csv文件导入数据
原理:with语句打开文件并绑定到对象f。不必担心在操作完资源后去关闭数据文件,with的上下文管理器会帮助处理。然后,csv.reader()方法返回reader对象,通过该对象遍历所读取文件的所有行。
#!/usr/bin/env python import csv filename = 'ch02-data.csv' data = []
try:
with open(filename) as f:
reader = csv.reader(f)
c = 0
for row in reader:
if c == 0:
header = row
else:
data.append(row)
c += 1
except csv.Error as e:
print "Error reading CSV file at line %s: %s" % (reader.line_num, e)
sys.exit(-1) if header:
print header
print '==================' for datarow in data:
print datarow
实验结果截图:
2.从Excel中导入文件数据
Excel文件可以转换成csv文件,然后通过上述的方法导入,但是如果想自动化地对大量文件进行数据管道处理(作为数据连续处理流程的一部分),那么手动把每个Excel文件转换成CSV文件的做法就行不通了。
原理:使用xlrd模块打开文件的工作簿,然后根据行数(nrows)和列数(ncols)读取单元格的内容,通过调用open_workbook()方法,返回一个xlrd.book实例。
import xlrd
from xlrd.xldate import XLDateAmbiguous file = 'ch02-xlsxdata.xlsx' wb = xlrd.open_workbook(filename=file) ws = wb.sheet_by_name('Sheet1') dataset = [] for r in range(ws.nrows):
col = []
for c in range(ws.ncols):
col.append(ws.cell(r, c).value)
if ws.cell_type(r, c) == xlrd.XL_CELL_DATE:
try:
print ws.cell_type(r, c)
from datetime import datetime
date_value = xlrd.xldate_as_tuple(ws.cell(r, c).value, wb.datemode)
print datetime(*date_value)
except XLDateAmbiguous as e:
print e
dataset.append(col) from pprint import pprint pprint(dataset)
实验结果:
3.从定宽数据文件导入数据
时间的日志文件和基于时间序列的文件是数据可视化中最常见的数据源。有时候,可以以制表符分隔数据这种CSV方言来读取它们,但有时它们不是通过任何特殊字符分隔的。实际上,这些文件的字段是有固定宽度的,我们能通过格式来匹配并提取数据。
例如(本例子的数据是使用代码生成的):
处理方法:
1.指定要读取的数据文件。2.定义数据读取的方式。3.逐行读取文件并根据格式把每行解析成单独的数据字段。4.安单独数据字段的形式打印每一行。
import struct
import string mask='9s14s5s'
parse = struct.Struct(mask).unpack_from
print 'formatstring {!r}, record size: {}'.format(\
mask, struct.calcsize(mask)) datafile = 'ch02-fixed-width-1M.data' with open(datafile, 'r') as f:
for line in f:
fields = parse(line)
print 'fields: ', [field.strip() for field in fields]
实验结果:
4.从JSON数据源导入数据
操作步骤如下:1.指定GitHub URL来读取JSON格式数据。2.使用requests模块访问指定的URL,并读取内容。3.读取内容并将之转化为JSON格式的对象。4.迭代访问JSON对象,对于其中的每一项,读取每个代码库的URL值。
原理:首先,使用requests模块获取远程资源。Requests模块提供了简单的API来定义HTTP谓词,我们只需要发出get()方法调用。我们只对Response.json()方法感兴趣,这个方法可以读取Response.content的内容,把它解析成JSON并加载到JSON对象中。
代码如下:
import requests
from pprint import pprint
url = 'https://api.github.com/users/justglowing'
r = requests.get(url)
json_obj = r.json()
pprint(json_obj)
结果:
结语:上个月在帮别人做毕业设计,用的FLASK,然后这个月还要用JAVA EE来写个商城网站,忙的要死,一直没更新博客,今天周日图书馆看了python数据可视化,走神一大半,唉,还是更博客吧,可惜的是,说好的要做的精品系列呢。。。。。。。
Python数据可视化编程实战——导入数据的更多相关文章
- Python数据可视化编程实战pdf
Python数据可视化编程实战(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1vAvKwCry4P4QeofW-RqZ_A 提取码:9pcd 复制这段内容后打开百度 ...
- python数据可视化编程实战PDF高清电子书
点击获取提取码:3l5m 内容简介 <Python数据可视化编程实战>是一本使用Python实现数据可视化编程的实战指南,介绍了如何使用Python最流行的库,通过60余种方法创建美观的数 ...
- 《Python数据可视化编程实战》
第一章:准备工作环境 WinPython-32bit-3.5.2.2Qt5.exe 1.1 设置matplotlib参数 配置模板以方便各项目共享 D:\Bin\WinPython-32bit-3.5 ...
- 第一章:AI人工智能 の 数据预处理编程实战 Numpy, Pandas, Matplotlib, Scikit-Learn
本课主题 数据中 Independent 变量和 Dependent 变量 Python 数据预处理的三大神器:Numpy.Pandas.Matplotlib Scikit-Learn 的机器学习实战 ...
- R软件导入数据_r语言怎么导入数据_R软件导入数据
R软件导入数据_r语言怎么导入数据_R软件导入数据 R软件导入数据 1.Rcmdr安装包导入数据: 1.安装Rcmdr包,输入: install.packages("Rcmdr") ...
- 基于echarts 24种数据可视化展示,填充数据就可用,动手能力强的还可以DIY(演示地址+下载地址)
前言 我们先跟随百度百科了解一下什么是"数据可视化 [1]". 数据可视化,是关于数据视觉表现形式的科学技术研究. 其中,这种数据的视觉表现形式被定义为,一种以某种概要形式抽提出来 ...
- JavaScript数据可视化编程学习(二)Flotr2,雷达图
一.雷达图 使用雷达图显示多维数据. 如果你有多维的数据要展示,那么雷达图就是一种非常有效的可视化方法. 由于雷达图不常用,比较陌生,所以向用户解释的时候有一些难度.注意使用雷达图会增加用户认知负担. ...
- 第二篇:Power BI数据可视化之基于Web数据的报表制作(经典级示例)
前言 报表制作流程的第一步显然是从各个数据源导入数据,Power BI能从很多种数据源导入数据:如Excel,CSV,XML,以及各类数据库(SQL Server,Oracle,My SQL等),两大 ...
- 数据可视化案例 | 如何打造数据中心APP产品
意识到数据探索带来的无尽信息,越来越多的企业开始建立自有的数据分析平台,打造数据化产品,实现数据可视化. 在零售商超行业,沃尔玛"啤酒与尿布"的故事已不再是传奇.无论是大数据还是小 ...
随机推荐
- python数据结构-基本数据类型
- 使用sysbench进行压力测试
sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试.数据库目前支持MySQL/Oracle/PostgreSQL/Drizzle,它主要包括以下几 ...
- Java小方法
/** * 计算百分比. * @param dividend 被除数 * @param divisor 除数 * @return 结果 */ private String getPercent(lon ...
- SQL 统计表行数和空间大小
CREATE TABLE #tablespaceinfo ( nameinfo VARCHAR() , rowsinfo BIGINT , reserved VARCHAR() , datainfo ...
- 烂泥:kvm安装windows系统蓝屏
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近一直在学习有关KVM的知识,实验一直是在虚拟机VM中进行的.今天刚好公司有一台空闲的服务器,直接拿来安装centos.kvm等等,然后相关的配置. ...
- esxi安装全过程及基本配置
esxi6.0下载地址 链接: http://pan.baidu.com/s/1jIfg2yU 密码: qacv 支持检测可以参考:http://www.linuxidc.com/Linux/2012 ...
- jdk环境搭建
win7+jdk环境变量配置 进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置:1.下载jdk(http://java.sun.com/javase/downloads/inde ...
- uva 11054 wine trading in gergovia (归纳【好吧这是我自己起的名字】)——yhx
As you may know from the comic \Asterix and the Chieftain's Shield", Gergovia consists of one s ...
- GoLang 的 daemonize 实现
func daemonize(cmd string, args []string, pipe io.WriteCloser) error { pid, _, sysErr := syscall.Raw ...
- 单调队列应用--BZOJ 3831 Little Bird
3831: [Poi2014]Little Bird Time Limit: 20 Sec Memory Limit: 128 MB Description In the Byteotian Lin ...