Python读入txt中的数组

Python读入txt中的数组(下三角矩阵)

最近写遗传算法作业要用老师给的数据进行测试,于是学习了一些方法……

txt数据格式

Python读入txt中的数组

提供的数据为城市间距离的下三角矩阵,直观显示大概为如下形式:

0
633 0
257 390 0
91 661 228 0
412 227 169 383 0
150 488 112 120 267 0
80 572 196 77 351 63 0
134 530 154 105 309 34 29 0
259 555 372 175 338 264 232 249 0
505 289 262 476 196 360 444 402 495 0
353 282 110 324 61 208 292 250 352 154 0
324 638 437 240 421 329 297 314 95 578 435 0
70 567 191 27 346 83 47 68 189 439 287 254 0
211 466 74 182 243 105 150 108 326 336 184 391 145 0
268 420 53 239 199 123 207 165 383 240 140 448 202 57 0
246 745 472 237 528 364 332 349 202 685 542 157 289 426 483 0
121 518 142 84 297 35 29 36 236 390 238 301 55 96 153 336 0

步骤

1. 使用np.loadtxt()读入txt文件

    data = np.loadtxt('数据.txt', dtype=np.int, delimiter=' ')

这个方法就需要txt文件格式较为规范。

2. 自定义方法读入txt文件

def file2array(path, delimiter=' '):
    fp = open(path, 'r', encoding='utf-8')
    string = fp.read()
    fp.close()
    row_list = string.splitlines()
    data_list = [[float(i) for i in row.strip().split(delimiter)] for row in row_list]

    data = list(itertools.chain.from_iterable(data_list))
    return data

3. 处理下三角矩阵

为了方便使用把空的部分填上。

distance = np.zeros([cityNum,cityNum])

    for i in range(cityNum):
        for j in range(cityNum):

            distance[i][j] = data[p]
            distance[j][i] = data[p]
            p += 1

            if data[p-1] == 0:
                break

4. 将处理好的矩阵输出为txt文件

np.savetxt("test.txt", distance, fmt="%d", delimiter=" ")

效果如下:

Python读入txt中的数组

总结

说实话也不知道为什么要折腾那么几下 = = 总之就是虽然都是基本操作但本人很怕麻烦……

参考资料

numpy.loadtxt() 用法

numpy基础教程–将二维数组转换为一维数组

python读入txt数据,并转成矩阵

Original: https://blog.csdn.net/qq_43473795/article/details/125816296
Author: rthete
Title: Python读入txt中的数组

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/758030/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 机器学习入门——Numpy的基本用法

    从两个方向进行等量分割 print(np.split(A.T,2,axis=0)) print(np.split(A,2,axis=1)) 可以理解为axis指定了对矩阵的某一个维…

    Python 2023年8月25日
    048
  • R-CNN系列目标检测算法对比

    引言 对比了R-CNN,Fast R-CNN,Faster R-CNN,Mask R-CNN目标检测算法的发展过程与优缺点。 R-CNN R-CNN是第一个成功第将深度学习应用到目…

    Python 2023年10月8日
    067
  • pygame实现的GUI画板

    写在前面 这是将近一年前学校开设的Python高级语言程序课上的一次作业,最近太久没打代码所以又翻出来重新温习了一遍,希望对自己以后做项目开发软件设计方面有所帮助 创建画笔类 橡皮…

    Python 2023年9月19日
    068
  • 手记系列之一 —– 关于微信公众号和小程序的开发流程

    前言 本篇文章主要介绍的调用微信公众号和小程序之后的开发流程,主要以实现步骤为主。 前提准备 已经申请了微信公众号和小程序(由于官方文档写的很详细,这里就不在进行说明了); 微信公…

    Python 2023年10月16日
    077
  • 基于形态学处理的不规则形状图像的几何参数统计,包括输出面积,周长,圆度,矩形度,伸长度

    up目录 一、理论基础 二、核心程序 三、测试结果 一、理论基础 形态学是图像处理中应用最为广泛的技术之一,主要用于从图像中提取对表达和描绘区域形状有意义的图像分量,使后续的识别工…

    Python 2023年10月11日
    085
  • 随机森林模型及案例(Python)

    1 集成模型简介 1.1 Bagging算法简介 1.2 Boosting算法简介 2 随机森林模型基本原理 3 使用sklearn实现随机森林模型 4 案例:股票涨跌预测模型 4…

    Python 2023年8月1日
    068
  • python中keyerror是什么意思_如何解决/ Python / Pandas中的KeyError是什么?

    我有两个文本文件,我希望使用Pandas.除了内部的一些内容之外,文件以完全相同的方式创建并且非常相似.但是,我的程序不能与其中一个文本文件一起使用,但可以与另一个一起使用.这是我…

    Python 2023年8月8日
    052
  • Sqlserver行转列pivot()

    PIVOT概述: PIVOT用于将列值旋转为列名(即行转列),并在必要时对最终输出中所需的任何其余列值执行聚合。 PIVOT的一般语法:SELECT [新表字段1,2,3&#823…

    Python 2023年11月8日
    030
  • pandas 之 DataFrame、Series使用详解

    啊哦~你想找的内容离你而去了哦 内容不存在,可能为如下原因导致: ① 内容还在审核中 ② 内容以前存在,但是由于不符合新 的规定而被删除 ③ 内容地址错误 ④ 作者删除了内容。 可…

    Python 2023年8月8日
    064
  • python绘制爱心

    今天用python绘制一个爱心,代码如下 –– coding: utf-8 ––from turtle import *def cu…

    Python 2023年9月22日
    042
  • 用golang刷算法–堆排序算法

    堆排序算法流程 将待排序序列构造成一个大顶堆,此时,整个序列的最大值就是堆顶的根节点。将其与末尾元素进行交换,此时末尾就为最大值。然后将剩余n-1个元素重新构造成一个堆,这样会得到…

    Python 2023年6月3日
    077
  • Matplotlib——直方图_hist()函数_histogram()函数_二维数据

    一个简单的 直方图可以直观地展示数据的分布,包括 数值分布的区间、密度和形状。 在实际的工作过程中,我们可能需要对数据进行 数学建模和 统计分析,这些数据处理技术往往基于数据符合的…

    Python 2023年9月2日
    052
  • Proteus添加新的元件库

    Proteus添加新的元件库 一、下载需要的元件库 二、导入Proteus 一、下载需要的元件库 在这个网站里我们可以搜索自己需要的元件下载:https://componentse…

    Python 2023年11月8日
    0216
  • 打造一个ChatGPT机器人

    啊哦~你想找的内容离你而去了哦 内容不存在,可能为如下原因导致: ① 内容还在审核中 ② 内容以前存在,但是由于不符合新 的规定而被删除 ③ 内容地址错误 ④ 作者删除了内容。 可…

    Python 2023年11月4日
    073
  • python版使用tinypng压缩图片大小

    第一步,前往tinypng官网或组自己的key值。 第二步,配置uncompressResPath、compressedResPath、largeRes路径。 第三步,拷贝以下代码…

    Python 2023年8月21日
    047
  • Redis/Mysql/SQLite/MongoDB 数据库对比

    一、Redis: redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集…

    Python 2023年6月10日
    0140
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球