码迷,mamicode.com
首页 > 编程语言 > 详细

python jsonpath()、findall()提取值

时间:2019-10-25 14:51:30      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:字母   特殊符号   ast   pre   class   price   函数   port   print   

findall()

import re
"""
"d"表示取数字0-9,
"D"表示不要数字,
"w"在正则里面代表匹配从小写a到z,大写A到Z,数字0到9
"W"在正则里面代表匹配除了字母与数字以外的特殊符号

"""
s = one1two2three3four4five12345
k = re.compile(\d+)    #‘\d+‘相当于‘\d\d\d‘

#findall()函数的三种表示形式
print(k.findall(s))
print(re.findall(k,s))
print(re.findall(\d+,s))

jsonpath()

import requests,jsonpath

shop=requests.get(url="").json()
#商店里所有书籍的作者
author_list=jsonpath.jsonpath(shop,$.store.book[*].author)

#返回所有的作者
author_list2=jsonpath.jsonpath(shop,$..author)

#商店里的所有东西
category_dx=jsonpath.jsonpath(shop,$.store.*)

#商店里一切的价格
store_price_list=jsonpath.jsonpath(shop,$.store..price)

#第三本书
book_3=jsonpath.jsonpath(shop,$..book[2])

#最后一本书
book_last=jsonpath.jsonpath(shop,$..book[-1])
num=len(jsonpath.jsonpath(shop,$..book))-1
book_last=jsonpath.jsonpath(shop,f$..book[{num}])  #取值

#前两本书
book_12=jsonpath.jsonpath(shop,f$..book[0,1])

#过滤所有便宜10以上的书籍
book_lg10=jsonpath.jsonpath(shop,$..book[?(@.price<10)])

#使用isbn number过滤所有书籍
book_lg10=jsonpath.jsonpath(shop,$..book[?(@.isbn)])

 

python jsonpath()、findall()提取值

标签:字母   特殊符号   ast   pre   class   price   函数   port   print   

原文地址:https://www.cnblogs.com/shuzf/p/11737939.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!