python&numpy五:文件输入输出

要将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数组对象的结构时非常有用。

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

你可能感兴趣的:(numpy,python,numpy,开发语言)