python中numpy数组的csv文件写入与读取方法是什么

寻技术 Python编程 2023年07月12日 114

这篇文章主要讲解了“python中numpy数组的csv文件写入与读取方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python中numpy数组的csv文件写入与读取方法是什么”吧!

1.文件写入与读取

写入:

import numpy as np
 
a = np.arange(0,10000).reshape(100,100)
np.savetxt("temp.csv", a, delimiter=",")

读取:

b = np.loadtxt("temp.csv", delimiter=",")
print(b)                   #打印b数组
print(max(b.reshape(-1)))  #打印b数组中的最大值
print(min(b.reshape(-1)))  #打印b数组中的最小值

注意:写入和读取的delimiter参数要保持一致,否则无法正常读取。

2.函数详解-savetxt

savetxt(fname, X, fmt='%.18e', delimiter=' ', newline=' ', header='', footer='', comments='# ', encoding=None)

功能:用于将array类型保存到文本文件中。

参数:

  • fname : 文件名或者文件句柄。如果文件名以".gz"结尾,则该文件会被自动以gzip形式压缩。当然,"loadtxt"也可以解析被压缩的文件。

  • X : 一维或者二维数组。需要写入文本文件的数据。

  • fmt : str或者str序列,可选参数。单一格式(%10.5f),序列格式或多重格式字符串,例如。“Iteration %d—%10.5f”,在这种情况下“delimiter”参数被忽略。对于复杂的“X”,“fmt”的合理选择如下:

    • a) a single specifier, `fmt='%.4e'`, resulting in numbers formatted like `' (%s+%sj)' % (fmt, fmt)`

    • b) a full string specifying every real and imaginary part, e.g.`' %.4e %+.4ej %.4e %+.4ej %.4e %+.4ej'` for 3 columns

    • c) a list of specifiers, one per column - in this case, the real and imaginary part must have separate specifiers, e.g. `['%.3e + %.3ej', '(%.15e%+.15ej)']` for 2 columns

  • delimiter :str,可选参数。用于分隔列的字符串或者字符。

  • newline :str,可选参数。用于分隔行的字符串或者字符。

  • header : str,可选参数。将被添加到文件开头的字符串。

  • footer : str,可选参数。将被添加到文件结尾的字符串。

  • comments : str,可选参数。将作为前缀被添加到"header" 和 "footer"的字符串,用于将这部分标记为注释内容。默认是"#"。

  • encoding : {None, str}, 可选参数。用于对输出文件的编码。不适用与输出流。如果编码格式不是"bytes" 或者"latin1",那么将无法正常load。

3.函数详解-loadtxt

loadtxt(fname, dtype=<class 'float'>, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0, encoding='bytes')

功能:从文件中load数据。注意:文件中的每一行数据的数量需要相同。

参数:

  • fname:文件,str或者是pathlib.Path。

  • dtype:返回的数据类型,默认float。

  • comments:str,可选参数。注释说明。默认是"#"。

  • delimiter:str,可选参数。数值的分隔符,默认是空格。

  • skiprows:int,可选参数。跳过的行数,默认是0。

  • usecols:int或者序列,可选参数。读取的列数,0为起点。例如,当usecols=(1,4,5),读取第2列,第5列和第6列。默认值是读取所有列。

  • unpack:bool型,可选参数。若为为True,可以将数据进行拆分,例如x, y, z = loadtxt(...)。默认值是False。

  • encoding : 用于对输入文件的解码。

关闭

用微信“扫一扫”