如何使用 python 将文件中的数据读入数组?

How to read data from file into array using python?

我需要以某种方式将数据读入数组,以便对每个数字进行计算。

我有 .txt 以下格式的文件。

4
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16

结构取决于第一行的数字,这里是4。意思是它是4x4矩阵。

现在,我认为要对每个数字进行计算,最简单的方法是将矩阵存储到二维数组中。这样每个元素都可以通过这样的数组索引访问:

data[i][j]

哪里data[4][3] = 16

如何将数据提取到这样的数组中?我这里有麻烦了。

我尝试关注

def get_data(file):

with open(file) as f:
    N = f.readline()
data = [line.strip('\n') for line in open(file)]

但它会将每一行保存到索引位置。所以我 data[1] = ['1 2 3 4'] 使用这种方法。

注意每个数字之间用space分隔,每行末尾有换行符\n

你很接近。您只需要更进一步,将您读入的每一行拆分为一个单独的列表。此外,您还需要将数据转换为整数:

def get_data(file):
    with open(file) as f:
        data = [line.split() for line in list(f)]
        return [[int(el) for el in line] for line in data]

您可以使用以下方式以读取模式打开文件:

file = open("new_text", "r")

然后,将文件中的每一行读取为:

for each_line in file:
    print(each_line)

制作一个矩阵你可以这样写:

matrix = []

for each_line in file:
    matrix.append(each_line.split()) #each_line.split will make a array and then we append this in matrix

print(matrix)

注意,这里我们有 4 作为矩阵的第一个元素,它是从文件中读取以删除我们可以使用 pop() 方法的元素。