本书使用的文件、代码: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. PHPExcel 导入Excel数据 (导出下一篇我们继续讲解)

    一:使用composer下载 phpoffice/phpexcel 或者直接下载安装包 composer require phpoffice/phpexcel 二 1:导入数据 原理:读取文件,获取文 ...

  2. 面试:Hbase和Hive的区别

    区别: 1. Hive是一个构建在Hadoop基础设施之上的数据仓库,通过HQL查询存放在HDFS上的数据,不能交互查询.HBase是一种Key/Value系统,它运行在HDFS之上,可以交互查询. ...

  3. Ubuntu中 MySQL 的中文编码问题

    使用Ubuntu在安装好MySQL数据库之后,如果直接创建数据库,再创建数据表,那么是无法向字段插入中文的,会报Incorrect string value错误. c实现编码设置的两种方法: (1)动 ...

  4. 19-21Consent Page页实现

    1-在授权服务端建立相应的显示ViewModel namespace MvcCookieAuthSample.Models { public class ConsentViewModel { publ ...

  5. Mybatis之XML、注解

    前言 上篇简单介绍了Mybatis的简单实用,本篇先对上次实验环境的一些内容进行优化,然后验证Mybatis的XML配置以及注解方式. 实验环境优化 数据库配置 在mybatis的配置文件中,引入数据 ...

  6. Spring源码分析——JdbcTemplate执行批量insert操作

    最近用到一个方法: @Override public int[] batchUpdate(String sql, final BatchPreparedStatementSetter pss) thr ...

  7. andriod学习一

    1.Android软件栈       2.Android模拟器        Android SDK 可以通过ADT+Eclipse或者命令行开发,调试,测试应用程序,设备可以使用模拟器或者真实设备, ...

  8. 第十五届北京师范大学程序设计竞赛现场决赛题解&源码(A.思维,C,模拟,水,坑,E,几何,思维,K,字符串处理)

    #include <bits/stdc++.h> using namespace std; int main() { int T,n,a,b; while(cin>>T) { ...

  9. uvaoj1585Score(暴力)

    1585 ScoreThere is an objective test result such as “OOXXOXXOOO”. An ‘O’ means a correct answer of a ...

  10. 一篇文章让你了解GC垃圾回收器

    简单了解GC垃圾回收器 了解GC之前我们首先要了解GC是要做什么的?顾名思义回收垃圾,什么是垃圾呢? GC回收的垃圾主要指的是回收堆内存中的垃圾对象. 从根对象出发,所有被引用的对象,都是存活对象 其 ...