本书使用的文件、代码:https://github.com/huangtao36/data_wrangling


机器可读(machine readable)文件格式:
1、逗号分隔值(Comma-Separated Values, CSV)
2、JavaScript对象符号(JavaScript Object Notation, JSON)
3、可扩展标记语言(eXtensible Markup Language, XML)
 

第三章使用的数据文件:

 


一、CSV数据

  CSV文件:将数据列用逗号分隔的文件,文件扩展名为.csv
  TSV文件:将数据列用Tab分隔的文件(tab-separated values),文件扩展名为.csv或.tsv(要打开文件确定是何种类型的数据)
 
  用excel打开文件data-text.csv:
     
  用 Sublime打开data-text.csv:
    

  Python代码1

import csv

csvfile = open('data-text.csv','rb') #打开文件,只读模式('wb'表示写)
reader = csv.reader(csvfile)  #读取数据 for row in reader:  #输出数据
print row

    在PyCharm中运行:

      

    在控制台中使用命令行运行:

      

      (运行代码文件只需要进入到其所在文件夹,输入:python 文件名)  

      

  Python代码2

import csv

csvfile = open('data-text.csv','rb')
reader = csv.DictReader(csvfile) for row in reader:
print row

    在PyCharm中运行:

      

  在控制台中使用命令行运行:

      

  注:

    1、使用命令行编译时需要进入到代码文件所在文件夹,并且数据文件应与代码文件所在同一目录下(因为代码中没有指定数据文件路径)

    2、对比上面两个代码如下,对比输出,代码1输出的是列表格式,代码2输出的是字典格式

        代码1:reader = csv.reader(csvfile)  #读取数据

        代码2:reader = csv.DictReader(csvfile)


二、JSON数据

  .json为文件扩展名,极少数命名不规范的.js文件也可能包含的是JSON数据(.js文件一般是JavaScript文件 )

  JSON数据文件部分内容

    

    JSON文件内容类似于Python中的字典,每一行都有键和值。

  Python代码

import json

json_data = open('data-text.json').read()

data = json.loads(json_data)

for item in data:
print item

    在PyCharm上运行

      

  比较CSV与JOSN中Python代码的不同

    1、CSV以只读方式打开文件(文件变量),JSON读取文件的内容后还把其保存在变量json_data中(内容变量)

     2、CSV中open()返回的是一个文件对象,JSON中得到的是一个字符串

  运行type()来检测一下(使用命令行逐句输入(注意要在数据文件路径下运行)):

filename = 'data-text.json'

type(open(filename,'rb'))

type(open(filename),read())

    

    由以上结果可以看出使用open()函数直接打开文件,获得的是一个文件类型的数据;而使用read()读取后获得的是一个字符串类型

第三章——供机器读取的数据(CSV与JSON)的更多相关文章

  1. 第三章——供机器读取的数据(XML)

    本书使用的文件.代码:https://github.com/huangtao36/data_wrangling 机器可读(machine readable)文件格式: 1.逗号分隔值(Comma-Se ...

  2. python数据处理(一)之供机器读取的数据 csv,json,xml

    代码与资料 https://github.com/jackiekazil/data-wrangling 1 csv 1.1导入csv数据 1.2将代码保存到文件中并在命令行中运行 2.json 2 导 ...

  3. 第三章:使用ListView展示数据

    一.ImageList:存储图像集合 Images 存储的所有图像 ImageSize 图像的大小 ColorDepth 颜色数 TransparentColor 被视为透明的颜色 先设置ColorD ...

  4. 数据库-第三章 关系数据库标准语言SQL-3.3 数据查询

    数据查询 例: 一.单表查询 1.定义 是指仅涉及一个表的查询 2.选择表中的若干列 查询指定列 例: 查询全部列 例: 查询经过计算的值 例: 3.选择表中的若干元组 消除取值重复的行 例: 查询满 ...

  5. SQL SERVER 2012 第三章 使用INSERT语句添加数据

    INSERT [TOP (<expression>) [PERCENT] [INTO] <tabular object>[(column list)][OUTPUT <o ...

  6. flask框架下读取mysql数据 转换成json格式API

    研究了一天 因为需要从数据库拿数据然后转换成json的格式 expose出去为 API 发现一条数据是容易,两条以上我居然搞了这么久 好歹出来了 先贴一下 后面更新 mysql的操作 比较容易了htt ...

  7. firedac数据集数据序列为JSON

    firedac数据集数据序列为JSON FIREDAC数据库引擎充分地考虑了跨平台和跨语言的支持. 因此,FIREDAC数据集可以序列为BIN\XML\JSON,三种格式. firedac数据集数据序 ...

  8. (第二章第三部分)TensorFlow框架之读取二进制数据

    系列博客链接: (第二章第一部分)TensorFlow框架之文件读取流程:https://www.cnblogs.com/kongweisi/p/11050302.html (第二章第二部分)Tens ...

  9. Laxcus大数据管理系统2.0(5)- 第三章 数据存取

    第三章 数据存取 当前的很多大数据处理工作,一次计算产生几十个GB.或者几十个TB的数据已是正常现象,驱动数百.数千.甚至上万个计算机节点并行运行也已经不足为奇.但是在数据处理的后面,对于这种在网络间 ...

随机推荐

  1. TCC : Tiny C Compiler (2018-2-6)

    饭墙下载,有缘上传: https://files.cnblogs.com/files/bhfdz/tcc-0.9.27-win32-bin.zip https://files.cnblogs.com/ ...

  2. Redis在Linux中的运用

    Redis在Linux中的运用 一.Redis安装部署 下载: wget http://download.redis.io/releases/redis-3.2.12.tar.gz 解压: 上传至 / ...

  3. rails应用使用carrierwave和mini_magick上传用户头像

    1. 在Gemfile添加 gem 'carrierwave' gem 'mini_magick' 执行 bundle install 2. 生成uploader rails generate upl ...

  4. verilog中参数传递与参数定义中#的作用(二)

    一.module内部有效的定义 用parameter来定义一个标志符代表一个常量,称作符号常量,他可以提高程序的可读性和可维护性.parameter是参数型数据的关键字,在每一个赋值语句的右边都必须是 ...

  5. 【EXCEL】簡単に合計をとる方法

    下記のような表があるとして.合計を取るときみんなSUM関数を使用しています. その方法もよいですが.もっと簡単の方法を説明します. ①合計する部分を選択します. ②ALT+=を押します. ※ノートパソ ...

  6. TensorFlow之tf.nn.dropout():防止模型训练过程中的过拟合问题

    一:适用范围: tf.nn.dropout是TensorFlow里面为了防止或减轻过拟合而使用的函数,它一般用在全连接层 二:原理: dropout就是在不同的训练过程中随机扔掉一部分神经元.也就是让 ...

  7. 日志工具——slf4j

    一.概述 简单日记门面(simple logging Facade for java)SLF4J是为各种loging APIs提供一个简单统一的接口,从而使得最终用户能够在部署的时候配置自己希望的lo ...

  8. logger 配置文件详解

    Logback配置文件详解 Logback,Java 日志框架. Logback 如何加载配置的 logback 首先会查找 logback.groovy 文件 当没有找到,继续试着查找 logbac ...

  9. Java Dictionary 类

    Dictionary 类是一个抽象类,用来存储键/值对,作用和Map类相似. 给出键和值,你就可以将值存储在Dictionary对象中.一旦该值被存储,就可以通过它的键来获取它.所以和Map一样, D ...

  10. P1060 开心的金明

    P1060 开心的金明 题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要 ...