在本文中,将学习用python解析数据。所有编程语言都将标记解析为重要的词法形状,以便编译器或解释器可以将标记转换为有意义的输出。
本文研究了Python中的解析以及帮助更好地进行解析的模块。解析并不简单,对于新手来说可能是一个绊脚石。因此,新手应该在编程中尽早发现解析文件的方法。本文面向有兴趣学习如何在Python中解析数据的Python初学者。
JSON (JavaScript对象符号)是一种简单的数据交换格式。它用于以特定格式显示数据,以便方便地访问和操作数据。在这里,将学习如何从JSON创建数据、解析数据和操作数据。
在深入分析数据的细节之前,先了解Python的JSON模块。它提供了一个类似pickle
的API,用于将Python内存中的对象转换为序列化的表示形式,从而可以轻松解析JSON数据和文件。下面是一些使用Python解析JSON数据的方法。
解析是什么?
解析是将代码翻译成机器语言以研究代码的适当语法的方法。
Python有一个名为Parser
的库。如果应用程序从使用者获取数据,而信息有时只在所需的布局中,则可以使用Parser
解析器将记录转换为所需的布局,以便进行其他处理。评估可以用不同的方法进行。
Parser
模块的使用,使用日常表达式进行解析,使用字符串技术以及split()
和strip()
技术进行解析。
例子1: 在这里,给出了一个用python解析数据的例子 -
# -*- coding:UTF-8 -*-
# __author__ = 'yiibai.com'
import parser
print ("The input expression for the parser module")
expression = "15 + 25"
print (" Here we are parsing the input expression")
parsing = parser.expr(expression)
print(parsing)
print (" Convert the parsed object into a code object")
code = parsing.compile()
print(code)
print (" The parsed result is: ")
res = eval(code)
print(res)
运行结果如下:
he input expression for the parser module
Here we are parsing the input expression
<parser.st object at 0x00000268815F4810>
Convert the parsed object into a code object
<code object <module> at 0x0000026881754660, file "<syntax-tree>", line 1>
The parsed result is:
40
对上述程序的解释:首先,导入了一个parser
模块,它用于查看解析过程。然后是print()
函数,它显示输出消息。parser.expr()
接受一个Python表达式并将其解析为一个对象,显示其十六进制位置。
另一个print()
函数显示消息:将已解析项更改为代码项。代码已编译输出。解析器然后将对象直接转换为一个模块,该模块占据任何其他回忆区域。要计算编译后的代码,需要使用eval()
特性,该特性将代码保存在res
对象中,并使用print()
输出。
字符串表达式没有连接,但由于表达式的解析方式不同( 15 + 25 = 40
),因此该数字作为整数。
例子1: 在这里给出了一个用python解析数据的例子 -
# -*- coding:UTF-8 -*-
# __author__ = 'yiibai.com'
import json
student = '{"Name": "Nissia", "Programming Languages": ["Python", "java", "C++"]}'
student_dict = json.loads(student)
print("The dictionary after parsing: ", student_dict)
print("Values in the Languages: ", student_dict['Programming Languages'])
编译上面的程序,编译之后运行上面的程序。结果如下所示:
The dictionary after parsing: {'Name': 'Nissia', 'Programming Languages': ['Python', 'java', 'C++']}
Values in the Languages: ['Python', 'java', 'C++']
结论: 软件测试人员和质量保证团队使用这个模块来执行各种测试。在本文中,学习了如何在Python中进行解析,以及如何将Python表达式从一种数据形式转换为另一种数据形式。使用单独的解析模块解析Python程序两次,效率较低。但是这个模块对于测试团队、查找bug或者编写解释器和编译器的研究人员非常有用。