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

Python如何读取含整数的文本文件内容填充对应行列的矩阵

实现方案

你可以通过逐行分割内容、转换整数类型后赋值的方式完成矩阵填充,以下是适配你现有代码逻辑的修改方案:

def main():
    # 使用with上下文管理器操作文件,执行结束后会自动关闭文件,避免资源泄露
    with open("text.txt", "r") as f:
        f1 = f.readlines()

    w = 3
    Matrix = [[0 for x in range(w)] for y in range(len(f1))]

    # 填充矩阵核心逻辑
    for row_index, line in enumerate(f1):
        # 去除行首尾的换行符、空格等空白字符
        stripped_line = line.strip()
        # 跳过空行,避免文件末尾空行引发报错
        if not stripped_line:
            continue
        # 按逗号拆分得到三个字符串格式的数值
        col_values = stripped_line.split(",")
        # 转为整数后赋值给对应行
        Matrix[row_index] = [int(value) for value in col_values]

如果不需要提前初始化矩阵,还有更简洁的写法,直接逐行读取生成矩阵:

def main():
    Matrix = []
    with open("text.txt", "r") as f:
        for line in f:
            stripped_line = line.strip()
            if not stripped_line:
                continue
            row = [int(value) for value in stripped_line.split(",")]
            Matrix.append(row)

注意事项

  • 原有代码中open(text.txt, "r")的写法存在问题,文件名属于字符串类型,需要用引号包裹,否则会被识别为变量引发报错
  • 如果文件体积较大,不建议用readlines()一次性读取所有行内容,直接迭代文件对象逐行读取内存占用更低
  • 如果存在非整数内容、每行列数不符合3列的场景,可以增加异常捕获逻辑避免程序崩溃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 05:06:03