Home  >  Article  >  Backend Development  >  How to read txt data file into matrix in Python3

How to read txt data file into matrix in Python3

不言
不言Original
2018-04-27 15:42:5111135browse

Below I will share with you a method of reading txt data files into a matrix in Python3. It has a good reference value and I hope it will be helpful to everyone. Let’s take a look together

1. Example program:

'''
数据文件:2.txt内容:(以空格分开每个数据)
1 2 2.5
3 4 4
7 8 7
'''

from numpy import *
A = zeros((3,3),dtype=float)  #先创建一个 3x3的全零方阵A,并且数据的类型设置为float浮点型

f = open('2.txt')        #打开数据文件文件
lines = f.readlines()      #把全部数据文件读到一个列表lines中
A_row = 0            #表示矩阵的行,从0行开始
for line in lines:       #把lines中的数据逐行读取出来
  list = line.strip('\n').split(' ')   #处理逐行数据:strip表示把头尾的'\n'去掉,split表示以空格来分割行数据,然后把处理后的行数据返回到list列表中
  A[A_row:] = list[0:3]          #把处理后的数据放到方阵A中。list[0:3]表示列表的0,1,2列数据放到矩阵A中的A_row行
  A_row+=1                #然后方阵A的下一行接着读
  #print(line)

print(A)  #打印 方阵A里的数据

打印结果:
[[ 1.  2.  2.5]
 [ 3.  4.  4. ]
 [ 7.  8.  7. ]]

2. The logic of reading data into the matrix:

is a simple explanation. For example, we need to:

1 2 3

4 5 6

7 8 9

Read into the matrix, take the above code as an example:

When When A_row =0, after executing A[A_row:] = list[0:3], the matrix A is:

##123123123

When A_row = 1, execute A[A_row:] = list[0:3] after matrix A Is:

##144
2 3
5 6
5 6
When A_row = 2, execute A[A_row:] = list[0:3] and the matrix A is:

1 47## is the above code:
2 3
5 6
8 9

What

for line in lines:           #先把逐行数据取出来 
  list = line.strip('\n').split(' ')   #再通过处理,放回到list列表中 
  A[A_row:] = list[0:3]          #然后把list列表的数据放到矩阵中 
  A_row+=1

does.

Related recommendations:


How to read TXT files in Python

How to generate a list by reading file names in python

The above is the detailed content of How to read txt data file into matrix in Python3. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn