如何在Python中将文本文件读入矩阵?

时间:2018-10-26 02:19:00

标签: python

我是Python的新手。 我有一个如下文本文件:

"0","0","0","0","1","0"    
"0","0","0","2","1","0"
...

我想将此文本文件导入为Python中的矩阵。 我可以找到类似的示例,但它们的每个值都没有引号,因此在这种情况下不能直接使用。如何只读取文本中的数值并将其保存为矩阵?

谢谢

1 个答案:

答案 0 :(得分:0)

将内容读入列表的转到方法是文件的readlines()方法。 但是,由于带引号,因此您的数据有些棘手。请注意,这些不是字符串声明周围的常用引号,而是实际的文本。

我们遍历值并将其删除,然后将剩余的字符串转换为整数。然后,我们将每一行附加到矩阵:

with open('data.txt', 'r') as f:
    data = f.readlines() # read raw lines into an array

cleaned_matrix = [] 
for raw_line in data:
    split_line = raw_line.strip().split(",") # ["1", "0" ... ]
    nums_ls = [int(x.replace('"', '')) for x in split_line] # get rid of the quotation marks and convert to int
    cleaned_matrix.append(nums_ls)

print cleaned_matrix

输出:

[[0, 0, 0, 0, 1, 0], 
 [0, 0, 0, 2, 1, 0]]