知行编程网知行编程网  2022-03-04 08:00 知行编程网 隐藏边栏 |   抢沙发  58 
文章评分 0 次,平均分 0.0

这是菜鸟学Python的第70篇原创文章

阅读本文大概需要3分钟

        Python常见的数据文件格式处理有4种(CSV,JSON,XML.HTML),我们前面已经讲了CSV文件的处理,今天我们来讲一下JSON文件的处理,最后用一个实战小例子,来分析一下程序员中的facebook GitHub上最火的开源项目是啥.

 

 

1.什么是JSON文件和Python数据的区别

俗话说有web的地方就有javascript(怎么感觉像电影里的台词,有人的地方就有江湖),那么大名鼎鼎的javascript的存取数据格式是什么的, 对就是JSON.JSON是一种轻量级的数据交换格式,简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言,非常方便,同时也容易解析,所以我们一定要学会Python中如何处理JSON文件。

 

1).JSON和Python格式对比

简单说:JSON的编码格式和Python很类似

JSON的编码支持的基本类型有None,bool,int,float,和str,当然也包含字典,列表和元组.

比如:JSON最常用的格式是对象的 键值对,比如这样的

'["foo", {"bar": ["baz", null, 1.0, 2]}]'

注意的是JSON键值key是字符串(字典中的任何非字符串键都会在编码的时候转换为字符串)

 

 

GitHub上最火的开源项目是啥|JSON文件实战处理

 

 

当然也有一些小的区别

  • True会映射成true
  • False会映射成false
  • None会映射成null

 

2.Python中处理JSON的4个重要函数

Python中有一个内置模块JSON,可以非常方便的处理JSON文件,其中有4个比较重要也是最常用的函数,下面详细介绍一下

 

1).dumps()

dump函数就是把Python字典的数据转换成json格式的数据

GitHub上最火的开源项目是啥|JSON文件实战处理

大家发现没有,JSON有一个显著的特征字符串都有双引号,另外None变成了null,True变成了true

 

dumps里面还有一些其他的参数,比如可以去掉一些空的字符

import json

list1=[10, 20 ,'abc',{'name':'Leo','age':20}]

print json.dumps(list1,separators=(',',':'))

>>[1,2,"abc",{"age":20,"name":"Leo"}]

 

输出的字典的键值排序

l3={"c": 0, "b": 0, "a": 0}

print json.dumps(l3,sort_keys=True)

>>

{"a": 0, "b": 0, "c": 0}

 

2).loads()

loads()函数可以把JSON数据转成Python数据

GitHub上最火的开源项目是啥|JSON文件实战处理

变成了Python数据之后,就可以自由的使用字典

print jsonDataAsPythonValue['name']

>>Lili

 

3).dump()

dump函数和dumps函数的区别在于dump文件把python数据写到json文件里面,里面会多一个文件句柄

 

GitHub上最火的开源项目是啥|JSON文件实战处理

 

4).load()

load()和loads()函数的差别也是一个读json数据,一个是读json文件句柄

 

GitHub上最火的开源项目是啥|JSON文件实战处理

 

3.获取Github上的最火开源项目

Github上有很多开源的项目,对于喜欢的用户可以加星(star),表示支持,我们今天就用一个小程序来看一下那个是最牛最火的项目

 

1).首先我们写一个函数去获取JSON文件

这里我们用request库,提供一个github上的url就可以非常方便的获取了

 

GitHub上最火的开源项目是啥|JSON文件实战处理

>>

 

[u'total_count', u'items', u'incomplete_results']

Total Project:1607749

Repositories returned:30

total_count: 1607749

 

Github上有一百六十万多的项目,那有同学会问,怎么提供一个url就可以获取了啊,这里用了一个叫做Web Api的机制,请求的数据将以易于处理的格式(如JSON或CSV)返回,可以非常方便的让机器获取.

 

 

2).显示最火的项目

上面的函数已经把JSON文件处理了,并且变成了一个庞大的字典repo_dicts这其实一个很大的列表,每个列表里面都一个字典,里面有很多key,这里我们最关心的是:

  • 项目的名字
  • 发起者
  • 有多少个星
  • 创建的时间
  • 大概的描述

     

GitHub上最火的开源项目是啥|JSON文件实战处理

>>

Followed are info about each repo:

Name:awesome-python

Owner:vinta

Stars:32325

created_at:2014-06-27T21:00:06Z

Description: A curated list of awesome Python frameworks, libraries, software and resources

最火的是awesome-python项目,这个项目很牛收获了32325个星

 


Python的JSON文件处理就讲到这里,是不是觉得蛮好玩的,希望能给初学者一些启发,若有什么不懂的,也可以留言跟我探讨交流.

 

另外今天副刊里面有一个合作伙伴提供的免费的5天课程,都是跟web项目的,大家有兴趣的可以看看呢,免费哦~~

 

ZZS

优秀人才不缺工作机会,只缺适合自己的好机会。但是他们往往没有精力从海量机会中找到最适合的那个。100offer 会对平台上的人才和企业进行严格筛选,让「最好的人才」和「最好的公司」相遇。


欢迎大家关注 菜鸟学Python",更多好玩有趣的Python原创教程,趣味算法,经验技巧,行业动态,尽在菜鸟学Python,一起来学python吧

 

历史人气文章

 

Python语言如何入门

最全的零基础学Python的问题,你想知道的都在这里

Python入门原创文章,2016年度大盘点

用Python写个弹球的游戏

Python写个迷你聊天机器人|生成器的高级用法

用Python破解微软面试题|24点游戏

一道Google的算法题 |Python巧妙破解

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享