python&numpy五:文件输入输出

文章介绍了如何使用NumPy的np.savetxt()和np.loadtxt()函数进行数组的文件输入输出,包括保存数组到文本文件,指定精度和分隔符,以及从文件加载数据。还提到np.save()和np.load()的用途。
摘要由CSDN通过智能技术生成

要将NumPy数组保存到文件中,以及从文件中读取数组数据,你可以使用NumPy提供的函数来进行文件输入输出操作。以下是两个常用的函数:

  1. np.savetxt():用于将一个或多个数组保存到文本文件中。

    import numpy as np
    
    arr = np.array([[1, 2, 3], [4, 5, 6]])
    
    # 将数组保存到文本文件
    np.savetxt('data.txt', arr)
    

    这将创建一个名为data.txt的文本文件,并将数组保存在其中。默认情况下,数组将按照指定的精度(默认是小数点后6位)和分隔符(默认是空格)的格式保存。

  2. 存储位置:默认情况下,np.savetxt()函数会将文本文件保存在当前工作目录中。当前工作目录是Python程序运行时所在的文件夹。

    如果你没有显式指定文件路径,那么保存的文件将位于当前工作目录中。可以使用os模块来获取和更改当前工作目录:

    import os
    import numpy as np
    
    # 获取当前工作目录
    current_dir = os.getcwd()
    print(current_dir)
    

    上述代码中,我们首先使用os.getcwd()函数获取当前工作目录,并将其存储在current_dir变量中。然后,我们创建了一个名为data.txt的文本文件,并将数组保存在其中。由于没有指定文件路径,因此该文件将被保存在当前工作目录中。

    需要注意的是,当前工作目录可能会根据你的执行环境而有所不同。可以使用os.chdir()函数来更改当前工作目录:

    import os
    
    # 更改当前工作目录
    os.chdir('/path/to/your/directory')
    

    在这个示例中,我们使用os.chdir()函数将当前工作目录更改为指定的路径'/path/to/your/directory'。之后,通过调用np.savetxt()函数来保存文件时,它将在新的工作目录中创建相应的文本文件。

  3. np.loadtxt():用于从文本文件中加载数组数据。

    import numpy as np
    
    # 从文本文件加载数组数据
    arr = np.loadtxt('data.txt')
    

    这将从名为data.txt的文本文件中加载数组数据,并将其存储在arr变量中。

  4. 当外部导入数据出现编码异常时,查看当前编码与导入文件的编码是否一致,若当前python编码为utf-8,导入文件编码为gbk时,需要设置改成一致的编码才能导入

    tryagain = np.loadtxt('tryagain.csv', delimiter=',',dtype="int", encoding='utf-8')
    data1 = np.genfromtxt('tryagain.csv', delimiter=',',dtype="int", encoding='utf-8')
    print(tryagain)
    print(data1)

    delimiter参数用于指定CSV文件中不同列之间的分隔符,常见的分隔符有逗号(’,‘)和制表符(’\t’)。dtype=()用于指定输入数据的类型。

当然,这只是文件输入输出的基本用法。np.savetxt(),np.loadtxt()和genfromtxt()函数还有一些可选参数,可以用于控制文件格式、分隔符、数据类型等方面的细节。

此外,NumPy还提供了其他一些函数和方法,例如np.save()np.load(),用于以二进制格式保存和加载数组数据。这些函数在处理大型数组或需要保留NumPy数组对象的结构时非常有用。

希望这些信息能对你有所帮助!如果还有其他问题,请随时提问。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西玥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值