首页 > 其他分享 >NPY文件读取方法

NPY文件读取方法

时间:2023-07-18 22:25:08浏览次数:19  
标签:文件 parser 读取 args NPY print output data

用Python做机器学习的时候会有一种格式为*.npy的文件,对于这类文件我们无法直接将其打开看到里面的实际内容,需要使用Numpy给它解析出来查看具体内容,下面提供两种方式以读取*.npy文件:

  1. 单个文件的读取:
import argparse
import numpy as np

# 创建命令行参数解析器
parser = argparse.ArgumentParser(description='Read and print numpy array data.')
parser.add_argument('filepath', help='File path of the .npy file')
parser.add_argument('-p', '--print', action='store_true', help='Print data to terminal')
parser.add_argument('output_filepath', nargs='?', default=None, help='Output file path for saving data')

# 解析命令行参数
args = parser.parse_args()

# 读取 .npy 文件
data = np.load(args.filepath)

# 判断是否需要打印内容
if args.print:
    # 打印内容
    print(data)
else:
    # 判断是否提供了输出文件路径
    if args.output_filepath is None:
        print("请选择使用终端查看数据内容(添加-p)或将内容保存到文件中(填写文件存储路径)")
    else:
        # 将内容保存到文件
        with open(args.output_filepath, 'w') as file:
            file.write(str(data))


使用/执行方法:

python script.py input.npy -p  #直接在终端显示
python script.py input.npy output.txt #将内容保存在output.txt文件中
  1. 多个文件的批量读取:
import argparse
import numpy as np
import os

# 创建命令行参数解析器
parser = argparse.ArgumentParser(description='Read and print numpy array data.')
parser.add_argument('dirpath', help='Root directory path')
parser.add_argument('-p', '--print', action='store_true', help='Print data to terminal')
parser.add_argument('output_dirpath', nargs='?', default=None, help='Output directory path for saving data')

# 解析命令行参数
args = parser.parse_args()

# 遍历指定目录下的所有文件
for root, dirs, files in os.walk(args.dirpath):
    for file_name in files:
        if file_name.endswith('.npy'):
            # 构建输入文件路径
            input_filepath = os.path.join(root, file_name)

            # 读取 .npy 文件
            data = np.load(input_filepath)

            # 构建输出文件路径
            output_filepath = os.path.join(args.output_dirpath, root.replace(args.dirpath, ''), file_name[:-4] + '.txt')

            # 判断是否需要打印内容
            if args.print:
                # 打印内容
                print(data)
            else:
                # 判断是否提供了输出目录路径
                if args.output_dirpath is None:
                    print("请选择使用终端查看数据内容(添加-p)或将内容保存到文件中(填写文件存储路径)")
                else:
                    # 创建输出文件目录(如果不存在)
                    os.makedirs(os.path.dirname(output_filepath), exist_ok=True)

                    # 将内容保存到文件
                    with open(output_filepath, 'w') as file:
                        file.write(str(data))

使用/执行方法:

python script.py /path/to/input/folder /path/to/output/folder

标签:文件,parser,读取,args,NPY,print,output,data
From: https://www.cnblogs.com/ezhar/p/17564277.html

相关文章

  • C语言多文件编译(vs.code)
    C语言多文件编译(vs.code)1.保证已经进行完第一步:配置C语言环境如果还未进行,建议来这里查看2.在扩展商店下载插件C/C++ProjectGeneratorCMakeCMakeTools3.修改settings.json也可以直接用快捷键ctrl+,搜索coderunner并找到ExecutorMap在settings.json中编辑找到......
  • Go语言读取网上Json格式的天气预报数据例子
    天气预报接口使用的是:http://www.weather.com.cn/data/sk/101010100.html这里的Json数据如下:{"weatherinfo":{"city":"北京","cityid":"101010100","temp":"1......
  • Java读取txt文件内容并求交集并集差集对称差集合去重
    Java读取两个txt内容并作集合运算文件内容及格式完整代码packagecom.example.fortotest;importjava.io.BufferedReader;importjava.io.File;importjava.io.InputStreamReader;importjava.nio.file.Files;importjava.util.HashSet;importjava.util.Objects;pu......
  • Linux目录和文件管理
    目录1目录层次1.1常见子目录2查看文件内容2.1linux七大文件类型2.2显示命令2.2.1cat实例2.2.2tac、rev实例2.3分页显示2.3.1more2.3.2less2.4显示文件前后内容2.4.1head2.4.2tail2.4.3tr1目录层次1.1常见子目录常见子目录的作用/根是所有文件的起点......
  • csv 压测读取常用策略
    如果想csv里的数据只使用一次     ================================== 遇到空行不结束 循环往复执行 -------------------------------------------------------------currentthread慎用,因为是随机的[bot]非常抱歉,我之前的回答中的"RandomOrder"......
  • 翻译文件存到sessionStorage,减少请求
    测试本地翻译文件,格式正不正确,检查JSON格式可以一部分str_info_english1.js,一部分的检查,是否报错<script>functionfoo(){varformData=newFormData();//提交表单varxhr=newXMLHttpRequest();xhr......
  • jenkins配置文件
    [root@localhost~]#rpm-qljenkins/etc/init.d/jenkins/etc/logrotate.d/jenkins/etc/sysconfig/jenkins/usr/bin/jenkins/usr/lib/systemd/system/jenkins.service/usr/sbin/rcjenkins/usr/share/java/jenkins.war/usr/share/jenkins/usr/share/jenkins/migrate......
  • CLV620 高速读取条码调试实例
    ​ ​ 第一部分:现场问题描述 客户反馈SICKCLV620在低速下读取没有问题,在高速下大概3m/s以上就无法正常读取。客户要求实际速度在6m/s的应用场合。 现场观察现象确实如此,但原因却不是。 难点: 1,客户反馈的问题误导了排查思路; 2,现场条码质量较差无法满足实......
  • Python获取文件夹下文件夹的名字,并存excel为一列(方法一)
    大家好,我是皮皮。一、前言这个事情还得从前几天在Python最强王者群【东哥】问了一个Python自动化办公处理的问题,需求倒是不难,一起来看看吧。二、实现过程这里【wangning】又给了一个答案,他自己之前整理的文章,不过需要自己稍微修改下才行。后来【魏哥】看到了,并且给出了如下......
  • python脚本,把整个文件夹移动至指定位置并对文件夹重新命名
    Python脚本-移动和重命名文件夹概述在本文中,我将介绍如何使用Python编写一个脚本,将整个文件夹移动到指定位置并对文件夹进行重新命名。这个脚本适用于那些刚入行的开发者,帮助他们理解如何使用Python处理文件和文件夹。步骤下面是完成这个任务的步骤列表:步骤代码说明......