python读取txt存储为二维数组
时间: 2025-04-06 17:13:42 浏览: 40
### 将 TXT 文件读取为二维数组的方法
在 Python 中,可以使用多种方法将 TXT 文件中的数据读取并转换为二维数组。以下是两种常见的实现方式:
#### 方法一:使用 NumPy 的 `loadtxt` 函数
NumPy 提供了一个非常方便的函数 `numpy.loadtxt()` 来处理结构化文本文件。此函数可以直接加载 CSV 或其他分隔符格式的数据到一个 Numpy 数组中。
如果目标文件是一个简单的表格型文本文件(例如逗号分隔),可以通过指定参数来跳过不需要的列或行。例如,在给定的例子中,通过设置 `skiprows=1` 跳过了首行,并通过 `usecols=(1,2,3)` 只选择了特定的几列[^1]。
下面是一段代码示例展示如何使用该方法:
```python
import numpy as np
data_array = np.loadtxt('example.txt', skiprows=1, delimiter=',')
print(data_array)
```
这段代码假设输入文件名为 `example.txt` 并且是以逗号作为字段之间的分隔符。它会自动忽略第一行并将剩余的内容转化为浮点数类型的二维数组。
#### 方法二:手动解析文件内容
对于更复杂的场景或者当无法确定确切格式时,也可以采用纯 Python 方式逐行读入数据再构建列表形式的二维数组。这种方式更加灵活但也稍微复杂一些。
这里提供另一个例子说明如何不依赖额外库仅靠标准库完成相同任务[^2]:
```python
# 打开CSV文件并将其内容读入列表
data_file = open("example.txt", 'r')
data_list = data_file.readlines()
data_list = data_list[1:] # 去掉表头或其他无用信息
data_file.close()
# 创建一个新的空列表用于存储最终的结果
result = []
for line in data_list:
fields = line.strip().split(',') # 移除每行两端空白字符后按','分割成多个部分
result.append([float(field) for field in fields]) # 把字符串转为浮点数加入结果集中
# 输出得到的二维数组
print(result)
```
这种方法允许开发者完全控制整个过程,适合那些需要特殊预处理的情况。然而相比起利用专门设计好的工具包来说效率较低而且容易出错因此除非必要一般推荐优先考虑前者即基于Numpy解决方案。
阅读全文
相关推荐


















