对Python非常陌生。假设我有一个包含矩阵的 txt 文件。
matrix.txt
A A A B B C
D D C D A E
A D S A W A
现在我想将这个矩阵导入到我的Python程序中,以便我可以处理数据。 现在的问题是我应该如何附加矩阵的每一行?
我尝试过的:
file_object = open('matrix.txt', 'r')
try:
line = file_object.readline()
while line:
print line
line = file_object.readline()
line = line.strip()
string = []
string.append(line)
print string
finally:
file_object.close()
print string[0][1]
编辑:特殊情况:
A A A B B C A A A B B C
D C D A E ---> 0 D C D A E
D A W A 0 D 0 A W A
如果某些元素为零,我如何用 0
替换它们?
最佳答案
带有解释的详尽代码:
#define a separator which divides your elements
sep = ' '
matrix = []
with open('matrix.txt', 'r') as f:
for line in f:
# generate an array with the elements which are on the line
line_array = line.split(sep)
#append it to the matrix
matrix.append(line_array)
print matrix
为了更好地理解“with”语句,请阅读this ,这对我有帮助。
编辑: 为了将双分隔符匹配为 nil (None) 对象,请将 line_array 关联替换为:
line_array = [e or 0 for e in line.split(sep)]
示例数据集(注意 B 和 C 之间的双空格):
A A A B C
D D C D A E
A D S A W A
编辑2: 对于独立于平台的行结尾,请使用:
line_array = [e or 0 for e in line.splitlines()[0].split(sep)]
关于python - 从 .txt 文件导入矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29775539/