前言
txt文件内数据如下
结果如下
如果符合你的需求,这里是代码:
with open (r'C:\Users\MK\OneDrive\桌面\代码\python\迷宫.txt') as mg:
content = mg.read().splitlines()
data = [[int(x) for x in line.split()]for line in content]
print(data)
代码解析
文件读取
with open(r'C:\Users\MK\OneDrive\桌面\代码\python\迷宫.txt') as mg:
content = mg.read().splitlines()
with open(...) as ...
语句是Python中的上下文管理器,用于处理文件操作。它可以确保文件正确关闭,即使在读取文件过程中遇到错误也能保证这一点。open()
函数用于打开一个文件,并返回一个文件对象。r
前缀表示原始字符串,用于避免路径中的转义字符被错误处理。mg.read().splitlines()
读取文件内容,并使用.splitlines()
方法分割字符串,得到一个不包含换行符的字符串列表,每个元素代表文件中的一行。
数据处理
data = [[int(x) for x in line.split()] for line in content]
- 这一行使用了嵌套的列表推导式来处理
content
列表中的每一行。外层循环遍历每一行,内层循环则处理每行中的每个元素。 line.split()
默认以空格为分隔符,将每行字符串分割成多个子字符串。int(x)
将分割得到的字符串转换为整数。这对于处理数字数据非常有用,比如在本例中的迷宫数据。
打印结果
- 将处理后的数据(即二维整数列表)打印出来。
知识补充
.splitlines() 方法
.splitlines()
是一个字符串方法,它基于换行符(\n
,\r
,\r\n
)分割字符串,返回一个字符串列表。这对于处理多行文本数据非常有用。
列表推导式
- 列表推导式是Python中一种简洁且高效的构建列表(list)的方法。它可以用来生成列表并在生成的过程中对数据进行处理。
- 通过嵌套列表推导式,可以实现对数据的复杂处理,如本例中的二维数据转换。
应用场景
这种数据处理模式不仅适用于迷宫数据,还可以用于处理各种需要从文本文件中读取并转换数据的场景。无论是处理配置文件、日志文件,还是科学数据,这种模式都能提供一个简单而强大的解决方案。