Python读取TXT文件并转换为NumPy数组的完整实现
本文详细介绍如何在Python中将包含大量浮点数的TXT文件数据读取并转换为NumPy数组。通过示例代码展示如何逐行处理文本、去除换行符、按逗号分割数据,并利用numpy的array和c_函数构建二维数组,最终实现125行45列数据的精确加载与输出。
原始数据文件如下所示:
7.8094,1.0804,5.7632,0.012269,0.008994,-0.003469,-0.79279,-0.064686,0.11635,0.68827,5.7169,7.9329,0.010264,0.003557,-0.011691,-0.57559,-0.56121,
该文件包含大量数据,具体结构为125行,每行包含45个浮点数。
实现该功能的Python代码如下:
# -*- coding: utf-8 -*-
import numpy as np
def readFile(path):
# 打开文件(注意路径)
f = open(path)
# 逐行进行处理
first_ele = True
for data in f.readlines():
## 去掉每行的换行符,"\n"
data = data.strip('\n')
## 按照 空格进行分割。
nums = data.split(',')
## 添加到 matrix 中。
if first_ele:
### 加入到 matrix 中 。
matrix = np.array(nums)
first_ele = False
else:
matrix = np.c_[matrix,nums]
matrix = matrix.transpose()
a = []
for x in range(0,125):
result = [float(item) for item in matrix[x]]
a.append(result)
arr=np.array(a)
f.close()
print(arr)
return arr
# test.
if __name__ == '__main__':
readFile("~/s01.txt")
程序运行后的输出结果如下:
[[ 8.1305 1.0349 5.4217 ..., 0.74017 0.30053 -0.05773 ] [ 8.1305 1.0202 5.3843 ..., 0.73937 0.30183 -0.057514] [ 8.1604 1.0201 5.3622 ..., 0.73955 0.30052 -0.057219] ..., [ 7.9517 1.1466 5.6081 ..., 0.73945 0.30342 -0.056789] [ 7.9743 1.1542 5.5038 ..., 0.7403 0.30027 -0.056704] [ 7.9812 1.0945 5.6005 ..., 0.73897 0.30275 -0.056262]] Process finished with exit code 0
以上即为Python将TXT文件读取并转换为NumPy数组的完整方法分享,希望能为读者提供有价值的参考,欢迎继续支持本站获取更多技术内容。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









