第三章——供机器读取的数据

Posted 韬小虾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三章——供机器读取的数据相关的知识,希望对你有一定的参考价值。

本书使用的文件、代码: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()读取后获得的是一个字符串类型

 

以上是关于第三章——供机器读取的数据的主要内容,如果未能解决你的问题,请参考以下文章

为什么一台SSL证书不能用于多台机器?

Ajax 片段元标记 - Googlebot 未读取页面内容

python 机器学习有用的代码片段

萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第四节 PCA与梯度上升 (下)实操篇

机器学习实验笔记-基于信用卡数据建立行为评分模型的机器学习方法

Android 逆向使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )(代码片段