【发布时间】:2020-05-03 12:24:18
【问题描述】:
我想读取一个带有尾随空格的文本文件:
0 3 4 5 2
3 0 2 4 0
4 2 0 1 0
5 4 1 0 0
2 0 0 0 0
变成这样的矩阵:
[[0, 3, 4, 5, 2], [3, 0, 2, 4, 0], [4, 2, 0, 1, 0], [5, 4, 1, 0, 0], [2, 0, 0, 0, 0]]
这是我目前所拥有的:
with open(filename, 'r') as filename:
adjmtrx = [[int(num) for num in line.split(' ')] for line in filename if line.rstrip('')]
但我收到以下错误:
adjmtrx = [[int(num) for num in line.split(' ')] for line in filename if line.strip() != " "]
ValueError: invalid literal for int() with base 10: '\n'
我想我已经接近了..
【问题讨论】:
-
您的代码非常适合我。如果我在包含矩阵的文件末尾添加两行新行,则会出现该错误,因此问题一定出在数据文件中。
标签: python removing-whitespace