我是Python的新手。 我有一个如下文本文件:
"0","0","0","0","1","0"
"0","0","0","2","1","0"
...
我想将此文本文件导入为Python中的矩阵。 我可以找到类似的示例,但它们的每个值都没有引号,因此在这种情况下不能直接使用。如何只读取文本中的数值并将其保存为矩阵?
谢谢
答案 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]]