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

Python如何将txt文件中的01数据加载为二维方阵

问题根因

  • 变量名笔误:第一行读取结果赋值给了N,第二行却传入未定义的变量M生成数组,首先会触发变量未定义的语法错误
  • readlines()返回的是每行字符串组成的一维列表,直接转numpy数组不会自动拆分每行的0/1元素,得到的自然是一维数组,不符合二维方阵的要求
  • 未处理每行末尾的换行符\n,会导致额外的无效字符被识别

修复方案

方案1:适配所有场景的手动处理方式

如果你的txt文件中每行的0和1是紧挨着的(比如0110格式),用以下代码:

import numpy as np

with open('Graph2021.txt', 'r', encoding='utf-8') as f:
    lines = f.readlines()
# 逐行去除换行符,拆分单个字符转整数后生成二维数组
N = np.array([[int(c) for c in line.strip()] for line in lines])

如果你的txt文件中每行的0和1是用空格/制表符分隔的(比如0 1 1 0格式),用以下代码:

import numpy as np

with open('Graph2021.txt', 'r', encoding='utf-8') as f:
    lines = f.readlines()
# 逐行去除换行符,按分隔符拆分后转整数生成二维数组
N = np.array([list(map(int, line.strip().split())) for line in lines])

方案2:更简便的numpy原生读取方式

针对空格/制表符分隔的txt文件,直接调用numpy内置方法即可一步完成读取:

import numpy as np
N = np.loadtxt('Graph2021.txt', dtype=int)

结果校验

执行以下代码确认输出符合预期:

print(N.ndim) # 预期输出2
print(N.shape) # 预期输出为(n,n)的方阵格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 09:24:01