Python数据可视化编程实战——导入数据

1.从csv文件导入数据

原理:with语句打开文件并绑定到对象f。不必担心在操作完资源后去关闭数据文件,with的上下文管理器会帮助处理。然后,csv.reader()方法返回reader对象,通过该对象遍历所读取文件的所有行。

 1 #!/usr/bin/env python
 2
 3 import csv
 4
 5 filename = ‘ch02-data.csv‘
 6
 7 data = []
 8 try:
 9     with open(filename) as f:
10         reader = csv.reader(f)
11         c = 0
12         for row in reader:
13             if c == 0:
14                 header = row
15             else:
16                 data.append(row)
17             c += 1
18 except csv.Error as e:
19     print "Error reading CSV file at line %s: %s" % (reader.line_num, e)
20     sys.exit(-1)
21
22 if header:
23     print header
24     print ‘==================‘
25
26 for datarow in data:
27     print datarow

实验结果截图:

2.从Excel中导入文件数据

Excel文件可以转换成csv文件,然后通过上述的方法导入,但是如果想自动化地对大量文件进行数据管道处理(作为数据连续处理流程的一部分),那么手动把每个Excel文件转换成CSV文件的做法就行不通了。

原理:使用xlrd模块打开文件的工作簿,然后根据行数(nrows)和列数(ncols)读取单元格的内容,通过调用open_workbook()方法,返回一个xlrd.book实例。

 1 import xlrd
 2 from xlrd.xldate import XLDateAmbiguous
 3
 4 file = ‘ch02-xlsxdata.xlsx‘
 5
 6 wb = xlrd.open_workbook(filename=file)
 7
 8 ws = wb.sheet_by_name(‘Sheet1‘)
 9
10 dataset = []
11
12 for r in range(ws.nrows):
13     col = []
14     for c in range(ws.ncols):
15         col.append(ws.cell(r, c).value)
16         if ws.cell_type(r, c) == xlrd.XL_CELL_DATE:
17             try:
18                 print ws.cell_type(r, c)
19                 from datetime import datetime
20                 date_value = xlrd.xldate_as_tuple(ws.cell(r, c).value, wb.datemode)
21                 print datetime(*date_value)
22             except XLDateAmbiguous as e:
23                 print e
24     dataset.append(col)
25
26 from pprint import pprint
27
28 pprint(dataset)

实验结果:

3.从定宽数据文件导入数据

时间的日志文件和基于时间序列的文件是数据可视化中最常见的数据源。有时候,可以以制表符分隔数据这种CSV方言来读取它们,但有时它们不是通过任何特殊字符分隔的。实际上,这些文件的字段是有固定宽度的,我们能通过格式来匹配并提取数据。

例如(本例子的数据是使用代码生成的):

处理方法:

1.指定要读取的数据文件。2.定义数据读取的方式。3.逐行读取文件并根据格式把每行解析成单独的数据字段。4.安单独数据字段的形式打印每一行。

 1 import struct
 2 import string
 3
 4 mask=‘9s14s5s‘
 5 parse = struct.Struct(mask).unpack_from
 6 print ‘formatstring {!r}, record size: {}‘.format( 7                         mask, struct.calcsize(mask))
 8
 9 datafile = ‘ch02-fixed-width-1M.data‘
10
11 with open(datafile, ‘r‘) as f:
12     for line in f:
13         fields = parse(line)
14         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对象中。

代码如下:

1 import requests
2 from pprint import pprint
3 url = ‘https://api.github.com/users/justglowing‘
4 r = requests.get(url)
5 json_obj = r.json()
6 pprint(json_obj)

结果:

结语:上个月在帮别人做毕业设计,用的FLASK,然后这个月还要用JAVA EE来写个商城网站,忙的要死,一直没更新博客,今天周日图书馆看了python数据可视化,走神一大半,唉,还是更博客吧,可惜的是,说好的要做的精品系列呢。。。。。。。

时间: 2024-10-13 16:20:16

Python数据可视化编程实战——导入数据的相关文章

分享《Python数据可视化编程实战》中文版PDF+英文版PDF+源代码

下载:https://pan.baidu.com/s/17-gPTIYJsHc4Xn_f5sVYXw <Python数据可视化编程实战>中文版PDF+英文版PDF+源代码 中文版PDF,带目录和书签:英文版PDF,带目录和书签:中英文两版可以对比学习.配套源代码:经典书籍,讲解详细:中文版如图: 原文地址:http://blog.51cto.com/3215120/2311995

《Python数据可视化编程实战》中文版PDF+英文版PDF+源代码

资源链接:https://pan.baidu.com/s/1XqN3YBmL5Y1jknUbaiv-Qg<Python数据可视化编程实战>中文版PDF+英文版PDF+源代码中文版PDF,带目录和书签:英文版PDF,带目录和书签:中英文两版可以对比学习.配套源代码:经典书籍,讲解详细:中文版如图: 原文地址:http://blog.51cto.com/14063572/2318482

分享《Python数据可视化编程实战》+PDF+源码+Igor Milovanovic+颛清山

下载:https://pan.baidu.com/s/1R6n3aE2_jIGnOmFR7jKx0A 更多分享资料:http://blog.51cto.com/14087171 <Python数据可视化编程实战>中文版PDF+英文版PDF+源代码 中文版PDF,带目录和书签:英文版PDF,带目录和书签:中英文两版可以对比学习.配套源代码:经典书籍,讲解详细:中文版如图: 原文地址:http://blog.51cto.com/14087171/2321650

Excel数据可视化:一样的数据不一样的图表——互动出版网

这篇是计算机类的优质预售推荐>>>><Excel数据可视化:一样的数据不一样的图表> 金牌品质:本书已授权台湾松岗出版社以繁体字率先出版,书香两岸! 内容简介 一句话有多种表达方式,陈述句.祈使句.疑问句--不同的场合会使用不同的语句,而不同的语句表达的效果也是迥然不同的.数据图表化也是一样,不同的操作者会选择不一样的效果,这可能与技术水平有关,也与行业情况有关,但是无论采用哪种方式,操作者都会选择一种更便于理解.便于接受的方式,否则图表所表达的直观效果就毫无意义.而本

大数据MapReduce 编程实战

MapReduce 编程实战 一.大数据的起源1.举例:(1)商品推荐 问题1:大量订单如何存储?问题2:大量订单如何计算?(2)天气预报: 问题1:大量的天气数据如何存储?问题2:大量的天气数据如何计算? 2.大数据核心的问题: (1)数据的存储:分布式文件系统 (2)数据的计算:分布式计算(MapReduce) 3.MapReduce的计算模型的来源 (1)根据Google发表一篇论文:MapReduce (2)问题:PageRank(网页排名)---> 举例 二.MapReduce的编程模

第二篇:Power BI数据可视化之基于网页数据的报表制作(经典级示例)

前言 报表制作流程的第一步显然是从各个数据源导入数据,Power BI能从很多种数据源导入数据:如Excel,CSV,XML,以及各类数据库(SQL Server,Oracle,My SQL等),两大主流开源平台(Hadoop,Spark)等等.本文篇幅所限,无法一一说明,仅就网页获取数据的方式进行讲解(其他方式大同小异). 然后本文将在Power BI后台工作区(下简称后台区)对获取到的数据集进行塑形.所谓塑形就是确定数据集的列名以及数据类型,还有进行一些基本数据清洗转换工作,以保证Power

Oracle 用中文作为关键字查询无数据及sql loader 导入数据时数据分隔异常的解决办法

前提:电脑A使用sqlldr向电脑B中的Oracle批量导入数据.数据分隔及查询都正常. 拷贝A中的源数据及ctl文件到电脑C中,拷贝B中的Oracle安装文件并安装至电脑C中. 电脑C使用ctl将源文件导入本机Oracle中之后发现.导入的数据分隔错误,比如[email protected]@ccc格式的数据,sqlldr导入的时候用@分隔.但是实际导入结果并不是column1=aaa,column2=bbb, column3=ccc:有部分数据变成了[email protected],[em

【visio】数据可视化 - 链接到外部数据

编辑数据的时候,纯粹一个一个地手动输入,效率过低,visio提供了连接外部数据的功能,以加快数据导入,该功能也同时能够针对外部数据的改变,更新visio内部数据. 1. 创建外部源数据 visio支持的外部数据源包含了经常用到的两种:Excel.数据库,本次以Excel作为操作对象 . 如果之前就已经有了,就无需创建了,以下是一个组织架构数据: 2.创建图形 在visio中创建图形,为了方便起见,采用模板的方式创建. 3.设置图形属性和数据源字段 图形属性要与数据源的列名保持一致,这样在展示的时

JavaScript数据可视化编程学习(一)Flotr2,包含简单的,柱状图,折线图,饼图,散点图

一.基础柱状图 二.基础的折线图 三.基础的饼图 四.基础的散点图 一.基础柱状图 如果你还没有想好你的数据用什么类型的图表来展示你的数据,你应该首先考虑是否可以做成柱状图.柱状图可以表示数据的变化过程或者表示多个数据之间的差异. 1.引入javascrippt 使用flotr2这个JavaScript库来创建图表.使用flotr2之前,不需要引入其他的JavaScript库(比如jquery),但是flotr2必须依赖HTML5的canvas元素的支持.canvas支持的主流浏览器有:chro