小白教程

 找回密码
 立即注册
查看: 6862|回复: 0

[好文转载] 数据处理与 Python

[复制链接]

2

主题

2

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2021-2-12 17:06:19 | 显示全部楼层 |阅读模式
Python 是处理数据的理想语言。它支持 JSON 和 XML 开箱即用,但 PyPI 上也有许多外部库来帮助您处理数据,如 PyYAML。在这一章中,我们将深入探讨各种数据的处理。

导入Python中的JSON库

Python 船与一个强大和优雅的 JSON 库,以帮助您解码和编码 JSON。它可以导入:

import json

这个库是Python的一部分,所以你不需要安装它与Pip包经理

如何解析 Python 中的 Json

解析一串 JSON 数据(也称为解码 JSON)就像使用一样简单。负载是负载字符串的缩头。json.loads(…)

它转换:

  • 字典对象
  • 阵列列表,
  • 布尔斯整数, 浮动, 和字符串被识别为他们是什么, 并会转换成正确的类型在 Python
  • 任何将转换为蟒蛇的类型nullNone

下面是一个在操作中的示例:json.loads

>>> import json
>>> jsonstring = '{"name": "erik", "age": 38, "married": true}'
>>> data = json.loads(jsonstring)
>>> print(data)
{'name': 'erik', 'age': 38, 'married': True}

输出可能看起来像一个字符串,但它实际上是一个字典,你可以在你的代码中使用,在我们的页面上解释的Python字典。例如:

>>> type(data)
<class 'dict'>
>>> print('Hello', data['name'], "you're", data['age'], 'years old')
Hello erik you're 38 years old

编码杰森与蟒蛇

用 Python 编码 JSON 数据和解码一样简单。使用("转储到字符串"的简称为)将由字典、列表和其他原生类型组成的 Python 对象转换为字符串:json.dumps(…)

>>> data = {'name': 'erik', 'age': 38, 'married': True}
>>> json.dumps(data)
'{"name": "erik", "age": 38, "married": true}'

这是相同的文档,转换回字符串!如果您想让您的 JSON 文档更适合人类阅读,请使用凹痕选项。它将很好地格式化JSON,使用空间字符:

>>> data = {'name': 'erik', 'age': 38, 'married': True}
>>> print(json.dumps(data, indent=2))
{
  "name": "erik",
  "age": 38,
  "married": true
}

漂亮的打印杰森与杰森模块

Python 的 JSON 模块也可以从命令行中使用。它将验证和漂亮打印您的JSON:

$ echo "{ \"name\": \"Monty\", \"age\": 45 }" | \
python3 -m json.tool
{
    "name": "Monty",
    "age": 45
}

您可能也有兴趣使用jq工具,虽然!

如何在巨蛇中读取 JSON 文件

此外,还有一个功能称为(没有s)。它将加载来自文件的数据。如果您想将 JSON 文件的内容读入 Python 并解析,请使用以下示例:json.loadsjson.load

with open('data.json') as json_file:
    data = json.load(json_file)
    ...

如何将 JSON 写到 Python 中的文件

该功能用于将数据写入 JSON 文件。json.dump

data = {'name': 'Eric', 'age': 38 }

with open('data.json', 'w') as json_file:
    json.dump(data, json_file)

经常问的问题

如何将列表(阵列)转换为Python中的JSON?

只需使用上述方法即可。和功能接受字典和列表json.dumpjson.dumps

如何将口述或字典转换为Python中的JSON?

类似于阵列,所以使用或在字典上。json.dump json.dumps

如何对Python中的JSON输出进行排序?

转储和转储功能都接受一个称为"sort_keys"的选项,例如: 。json.dumps(data, sort_keys=True)

JSON库是否输出单码数据?

默认情况下:没有。库输出 ASCII,并将转换不属于 ASCII 的字符。如果您要输出 Unicode,则将ensure_ascii设置为"错误"。例:json.dumps(data, ensure_ascii=False)

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|小白教程 ( 粤ICP备20019910号 )

GMT+8, 2024-11-24 15:45 , Processed in 0.025689 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表