zoukankan      html  css  js  c++  java
  • 第三章——供机器读取的数据(CSV与JSON)

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

  • 相关阅读:
    c语言中while((c=getchar())!=EOF)怎样才能输入EOF是循环中断
    Python学习笔记之装饰器原理
    Ubuntu中使用pip3报错
    Django配置xadmin后台模板之坑(一)
    ES6之字符串扩展
    Koa中设置中文Cookie值
    node中中间件body-parser的实现方式
    CSS笔记之Grid网格系统
    从0开始搭建vue+webpack脚手架(四)
    从0开始搭建vue+webpack脚手架(三)
  • 原文地址:https://www.cnblogs.com/huangtao36/p/7629823.html
Copyright © 2011-2022 走看看