如何将Python矩阵写入文本文件并保证可读性?
如何将矩阵写入文本文件并呈现为人类易读格式?
你的问题核心是要把矩阵转换成空格分隔的纯文本格式,而当前代码直接将整个列表转成字符串写入,导致输出充满括号和逗号,完全不符合需求。下面是修正后的解决方案:
修正代码
A = [['-', 'A', 'B', 'C', 'D', 'E'], ['A', '0', '5', '6', '7', '8'], ['B', '5', '0', '6', '7', '8'], ['C', '6', '6', '0', '7', '8'], ['D', '7', '7', '7', '0', '8'], ['E', '8', '8', '8', '8', '0']] # 使用with语句自动管理文件(无需手动调用close,更安全) with open("MyFile.txt", "w") as file1: for row in A: # 将每行的元素用空格拼接成字符串,添加换行符后写入 file1.write(' '.join(row) + '\n')
代码说明
- 避免直接转字符串:
str(A)会把整个矩阵转成带[]和,的字符串,这显然不是你要的格式。我们用' '.join(row)把每行的元素用空格连接,生成纯文本行。 - 文件管理更安全:使用
with语句打开文件,Python会在代码块结束后自动关闭文件,不用担心遗漏close()操作。 - 格式完全匹配需求:矩阵的第一行
['-', 'A', 'B', 'C', 'D', 'E']经过join后正好是- A B C D E,后续行也会自动转换成你想要的字母+空格分隔数字格式。
如果需要往已有文件末尾追加内容,只需把打开模式从"w"改成"a"即可。
内容的提问来源于stack exchange,提问作者bgmn
相关产品推荐
相关产品推荐

