Alterna · учебный материал

文本、数据和虚拟文件

re, fnmatch, csv, json 和 Python 虚拟文件: 按格式而不是猜测取数据 。

Что в этом материале

Содержание и основные понятия

选择数据语法工具:简单格式的字符串方法,
re
对于模板,
csv
表格的表格,
json
结构。
文本和文件
10至11年级
EEG: 文件处理
01
正则表达式和名称模板
re.findall(pattern, text)
找到所有交错的巧合
使用原始字符串 :
r'\d+'
.
re.fullmatch(pattern, text)
检查模板覆盖整个行 。
比寻找一个验证线的碎片更可靠
fnmatch.fnmatch(name, '*.csv')
用简单的球计算文件的名称。
这不是一个常规表达式, 它不读目录。
re не всегда нужен
更容易理解,以区分差距或小数点
split
.
复杂的模板无法改进简单格式 。
import
re
text = "id=12; id=7"
print(re.findall(r"id=(\d+)", text))
括号中的组群仅返回其后的编号
id=
如果没有这一组,结果将是所有重叠的碎片。
02
CSV 和 JSON: 剖析器设置格式
格式格式格式
保留着
工具工具工具
普通文字
线条 数字 顺序中的单词
open(...)
文件周期
split
.
CSV
与分隔符以及可能的话报价的表格线条。
csv.reader
或
csv.DictReader
.
JSON
列表、词典、数字、行和重要标本。
json.load
,而不是
eval
.
安全安全安全安保安全安全
不要和外部JSON通过
eval
.
json.load
只读取正确的格式,
eval
能够以代码形式执行线条 。
03
健身房中的虚拟文件
在本章中,虚拟字段
input.txt
代码可以用正常的设计来打开它
open('input.txt', encoding='utf-8')
这是一个学习模拟:程序与工人分离,无法访问计算机文件。
import
json
with open("input.json", encoding="utf-8") as source:
data = json.load(source)
print(data["name"])
json.load
接收文件流并返回 Python 结构。 在读取前, 程序必须知道虚拟文件的确切名称 。
04
快速检查
哪个模块能正确读懂 CSV 表格,其中可以包含单元格中的逗号和引号?

教科书结构图