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数据可视化编程实战——导入数据的更多相关文章

  1. Python数据可视化编程实战pdf

    Python数据可视化编程实战(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1vAvKwCry4P4QeofW-RqZ_A 提取码:9pcd 复制这段内容后打开百度 ...

  2. python数据可视化编程实战PDF高清电子书

    点击获取提取码:3l5m 内容简介 <Python数据可视化编程实战>是一本使用Python实现数据可视化编程的实战指南,介绍了如何使用Python最流行的库,通过60余种方法创建美观的数 ...

  3. 《Python数据可视化编程实战》

    第一章:准备工作环境 WinPython-32bit-3.5.2.2Qt5.exe 1.1 设置matplotlib参数 配置模板以方便各项目共享 D:\Bin\WinPython-32bit-3.5 ...

  4. 第一章:AI人工智能 の 数据预处理编程实战 Numpy, Pandas, Matplotlib, Scikit-Learn

    本课主题 数据中 Independent 变量和 Dependent 变量 Python 数据预处理的三大神器:Numpy.Pandas.Matplotlib Scikit-Learn 的机器学习实战 ...

  5. R软件导入数据_r语言怎么导入数据_R软件导入数据

    R软件导入数据_r语言怎么导入数据_R软件导入数据 R软件导入数据 1.Rcmdr安装包导入数据: 1.安装Rcmdr包,输入: install.packages("Rcmdr") ...

  6. 基于echarts 24种数据可视化展示,填充数据就可用,动手能力强的还可以DIY(演示地址+下载地址)

    前言 我们先跟随百度百科了解一下什么是"数据可视化 [1]". 数据可视化,是关于数据视觉表现形式的科学技术研究. 其中,这种数据的视觉表现形式被定义为,一种以某种概要形式抽提出来 ...

  7. JavaScript数据可视化编程学习(二)Flotr2,雷达图

    一.雷达图 使用雷达图显示多维数据. 如果你有多维的数据要展示,那么雷达图就是一种非常有效的可视化方法. 由于雷达图不常用,比较陌生,所以向用户解释的时候有一些难度.注意使用雷达图会增加用户认知负担. ...

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

    前言 报表制作流程的第一步显然是从各个数据源导入数据,Power BI能从很多种数据源导入数据:如Excel,CSV,XML,以及各类数据库(SQL Server,Oracle,My SQL等),两大 ...

  9. 数据可视化案例 | 如何打造数据中心APP产品

    意识到数据探索带来的无尽信息,越来越多的企业开始建立自有的数据分析平台,打造数据化产品,实现数据可视化. 在零售商超行业,沃尔玛"啤酒与尿布"的故事已不再是传奇.无论是大数据还是小 ...

随机推荐

  1. 【linux】关于TCP三次握手和四次挥手

    1.TCP是什么 关于OSI的七层模型 TCP在第四层——Transport层,第四层的数据叫Segment->报文 IP在第三层——Network层,在第三层上的数据叫Packet->数 ...

  2. sql date时间加减几天几小时

    //时间转成年月日时分秒select date_format(now(),'%Y%m%d%H%i%S')//时间转成年月日select date_format(now(),'%Y%m%d')//去年此 ...

  3. html不使用cache数据

    <HEAD>      <META   HTTP-EQUIV="Pragma"   CONTENT="no-cache">     &l ...

  4. matlab中subplot函数的功能

    转载自http://wenku.baidu.com/link?url=UkbSbQd3cxpT7sFrDw7_BO8zJDCUvPKrmsrbITk-7n7fP8g0Vhvq3QTC0DrwwrXfa ...

  5. [转帖]迅为4412开发板最小linux系统的存储空间修改

    本文转自迅为论坛:http://www.topeetboard.com 最小linux系统的存储空间修改以修改成 1G 存储空间为例来修改,如果需要改成其他大小的存储空间,参照此方法修改即可. 首先连 ...

  6. NFS(Network File System)服务配置和使用

    Sun公司开发NFS (Network File System)之初就是为了在不同linux/Unix系统之间共享文件或者文件夹.可以在本地通过网络挂载远程主机的共享文件,和远程主机交互.NFS共享存 ...

  7. FDTD Python API

    源代码 #!/usr/bin/env python from math import exp from gnuplot_leon import * imp0 = 377.0 class fdtd_le ...

  8. LeetCode题解-----Majority Element II 摩尔投票法

    题目描述: Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times. The a ...

  9. selenium如何解决window安全验证问题

    解决办法 IE浏览器: 1.使用autoit,捕捉到控件后,编写au3脚本,生成exe,然后java调用exe au3脚本 Dim $account = "username" Di ...

  10. 内网穿透利器 Ngrok 使用教程

    ngrok 服务可以分配给你一个域名让你本地的web项目提供给外网访问,特别适合向别人展示你本机的web demo 以及调试一些远程的API (比如微信公众号,企业号的开发) 下面开始教程 Step ...