在 Python 中解析数据

2024 年 8 月 29 日 | 4 分钟阅读

引言: 本文讨论 Python 中的数据解析。所有编程语言都会将标记解析成有意义的词法形状,以便编译器或解释器可以将标记转换为有意义的输出。

本文探讨了 Python 中的解析以及有助于更好地解析的模块。

我不太喜欢解析文档,但在几乎每个挑战开始时我都需要这样做。解析并非易事,对新手来说可能是一个障碍。但一旦你习惯了读取文件,你就会觉得这是混乱的一部分。

因此,建议新手在编程生涯早期就学习解析文件的方法。本文旨在为有兴趣学习如何在 Python 中解析数据的 Python 初学者提供指导。

JSON (JavaScript Object Notation) 是一种简单的数据交换格式。它用于以特定格式显示数据,以便于访问和操作。在这里,您将学习如何从 JSON 创建数据、解析它以及操作它。

在深入了解数据解析的细节之前,让我们先了解一下 Python 的 JSON 模块。它提供了一个类似 pickle 的 API,用于将 Python 的内存对象转换为序列化表示,从而可以轻松解析 JSON 数据和文件。以下是使用 Python 从 JSON 解析数据的一些方法。

什么是解析?

解析是将代码翻译成机器语言以检查代码适当语法的方法。

Python 有一个名为 Parser 的库。例如,如果您的应用程序从消费者那里获取数据,而信息有时不在您想要的布局中,您可以使用一个解析器将记录转换为您想要的布局以供进一步处理。评估可以通过各种方法执行。

使用解析器模块、使用常规表达式进行解析、使用 split() 和 strip() 等字符串技术进行解析。

示例 1: 在这里,我们提供一个在 Python 中解析数据的示例。示例如下:

输出: 现在我们编译上述程序,编译后运行上述程序。然后给出结果如下:

The input expression for the parser module
 Here we are parsing the input expression
<parser.st object at 0x000001F779222AE0>
 Convert the parsed object into a code object
<code object <module> at 0x000001F779228870, file "<syntax-tree>", line 1>
 The parsed result is: 
9

上述程序解释: 首先,我们导入了一个解析器模块,它帮助我们查看解析过程。然后是 print() 函数,它显示输出消息。parser.expr() 接受一个 Python 表达式并将其解析为一个对象,显示十六进制位置。

另一个 print() 函数显示消息:将解析项更改为代码项。代码已编译输出。然后解析器将对象转换为一个模块,该模块占用另一个内存区域。要评估编译后的代码,我们需要使用 eval() 函数,该函数将其保存在 res 对象中并使用 print() 打印。

字符串表达式未连接,但数字作为整数工作,因为表达式被解析得不同(结果是 5+4 = 9)。

示例 1: 在这里,我们提供一个在 Python 中解析数据的示例。示例如下:

输出: 现在我们编译上述程序,编译后运行上述程序。然后给出结果如下:

The dictionary after parsing: {'Name': 'Nisha', 'Programming Languages': ['Python', 'java', 'c']} 
Values in the Languages: ['Python', 'java', 'c']

结论: 软件测试人员和质量保证团队使用此模块执行各种测试。在本文中,您了解了 Python 中解析的工作原理以及 Python 表达式如何从一种数据形式转换为另一种形式。使用单独的解析模块会解析 Python 程序两次,效率较低。但该模块对于测试团队、查找 bug 或编写解释器和编译器的研究人员来说非常有用。


下一话题Python 解析 tsv