You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中从单个输入文件读取两个矩阵A和B

在Python中读取分隔的两个矩阵文件

嘿,这个问题很好解决,关键就是抓住文件里用来分隔两个矩阵的---标记,把内容拆分后分别解析就行。我给你两种实用的实现方案,你可以根据需求选择:


方法一:纯Python实现(无需额外库)

如果不想依赖第三方库,用原生Python就能搞定,逻辑清晰易懂:

# 打开并读取文件内容,用with语句自动管理文件关闭
with open('matrices.txt', 'r', encoding='utf-8') as f:
    file_content = f.read()

# 用分隔符---拆分出两个矩阵的文本块,strip()去除前后多余空白
matrix_a_text, matrix_b_text = [block.strip() for block in file_content.split('---')]

# 解析矩阵A:转换为二维整数列表
def parse_matrix(text_block, matrix_label):
    matrix = []
    for line in text_block.split('\n'):
        # 跳过开头的标签行(比如"矩阵A:")和空行
        stripped_line = line.strip()
        if not stripped_line or stripped_line.startswith(matrix_label):
            continue
        # 按逗号分割每个元素,转换为整数(如果是浮点数就改成float)
        row = [int(num.strip()) for num in stripped_line.split(',')]
        matrix.append(row)
    return matrix

matrix_a = parse_matrix(matrix_a_text, '矩阵A:')
matrix_b = parse_matrix(matrix_b_text, '矩阵B:')

# 输出验证结果
print("解析后的矩阵A:")
for row in matrix_a:
    print(row)
print("\n解析后的矩阵B:")
for row in matrix_b:
    print(row)

方法二:用NumPy实现(适合后续矩阵运算)

如果之后需要对矩阵做数学运算,用NumPy会更高效方便。先确保你已经安装了NumPy(pip install numpy):

import numpy as np

# 读取文件内容
with open('matrices.txt', 'r', encoding='utf-8') as f:
    file_content = f.read()

# 拆分文本块
matrix_a_text, matrix_b_text = [block.strip() for block in file_content.split('---')]

# 定义解析函数:提取有效行后用NumPy加载
def parse_with_numpy(text_block, matrix_label):
    # 过滤掉标签行和空行,保留有效数据行
    valid_lines = [
        line.strip() for line in text_block.split('\n')
        if line.strip() and not line.strip().startswith(matrix_label)
    ]
    # 把有效行拼接成字符串,用NumPy的loadtxt加载
    return np.loadtxt('\n'.join(valid_lines), delimiter=',', dtype=int)

matrix_a = parse_with_numpy(matrix_a_text, '矩阵A:')
matrix_b = parse_with_numpy(matrix_b_text, '矩阵B:')

# 输出结果,NumPy会以矩阵格式打印
print("解析后的矩阵A:\n", matrix_a)
print("\n解析后的矩阵B:\n", matrix_b)

小提示:

  • 如果你的矩阵包含浮点数,只需要把代码里的int改成float,NumPy里的dtype=int改成dtype=float即可。
  • 确保文件路径正确:如果你的matrices.txt不在脚本的当前运行目录,要填写完整路径,比如Windows下的'C:/Users/YourName/Documents/matrices.txt',或者Linux/macOS下的'/home/YourName/Documents/matrices.txt'。

内容的提问来源于stack exchange,提问作者Surajit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:12:05