如何使用 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() 方法的元素。
我需要以某种方式将数据读入数组,以便对每个数字进行计算。
我有 .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() 方法的元素。