python savetxt_[科学与工程Python简介]——Chapter 4

Chapter 4:输入输出

4.2.1 使用str.format()格式化输出

print函数的参数的形式为str.format(),其中str是一个字符串,其中包含要写入屏幕的文本,以及花括号{}中包含的某些格式说明符,我们将在下面进行讨论Format方法(String对象的方法)包含要打印的变量列表。

•第14行的print语句中字符串开头的\n是换行符。它在打印输出之前创建空行。 •大括号的位置指定打印语句末尾的format函数中的变量的位置。 •大括号内的格式字符串指定如何打印format函数中的每个变量。 •format字符串中冒号之前的数字指定打印format函数中列表中的哪个变量。请记住,Python是零索引的,因此0表示打印第一个变量,1表示打印第二个变量,依此类推。 •冒号后面的零指定为打印FORMAT函数中的变量而保留的空格的最小空格数。零表示仅使用所需数量的空格。 •句点后的数字指定要打印的小数点右侧的位数:1表示时间和加仑,2表示成本。•字母f指定要用固定位数打印的数字。如果f格式说明符替换为e,则数字将以指数格式(科学记数法)打印出来。

4.3 文件输入

4.3.1从txt读取数据(np.loadtxt)

我们希望将这些数据读取到Python程序中,将每列中的数据与适当命名的数组相关联。虽然在Python中有很多方法可以做到这一点,但到目前为止最简单的方法是使用NumPy loadtxt函数,我们在这里说明了该函数的用法。

loadtxt函数接受三个参数:第一个参数是要读取的文件名的字符串,第二个参数告诉loadtxt跳过文件顶部的前5行(有时称为头),第三个参数告诉loadtxt输出数据(解包数据),以便可以直接读取到数组中。loadtxt读取文本文件中“=”符号左侧列出的数组名称中存在的数据列。不一定使用标记文本文件中的列的名称,可以自由选择相同或相似的名称。

loadtxt函数的一个方便特性是它将任何空格识别为列分隔符:空格、制表符等。

4.3.2 从Excel文件读取数据:CSV文件

CSV(“逗号分隔值”)文件,这是一种所有常见的电子表格程序都可以创建和读取的格式。可以将Excel文件格式转为逗号分隔符的文本格式。如下所示:

转换为:

CSV文件只是一个文本文件,以前位于电子表格列中的数据现在用逗号分隔。我们可以再次使用loadtxt NumPy函数将此文件中的数据读取到Python程序中。

4.4 文件输出

4.4.1 将数据写入文本文件(np.savetxt)

在Python中有很多方法可以将数据写入数据文件。我们将坚持使用一种非常简单的方法,该方法适用于以文本格式编写数据文件。它使用NumPy savetxt例程,该例程相当于上一节介绍的loadtxt例程。下面是其语法:

示例:

savetxt的第一个参数是一个字符串,即要创建的数据文件的名称。第二个参数是要写入数据文件的数据数组。因为我们想要将不是一个而是四个数据数组写入到文件中,所以我们必须将四个数据数组打包为一个,我们使用zip函数将这四个数据数组打包为一个,zip函数是一个组合四个数组并返回一个元组列表,其中第i个元组包含作为其参数列出的每个数组(或列表或元组)中的第i个元素。因为有四个数组,所以每行将是一个包含四个条目的元组,从而生成一个包含四列的表。事实上,zip函数只是一个接一个地生成每个元组的一组指令;列表函数是实际构造整个元组列表所必需的。

请注意,前两个参数(文件名和数据数组)是常规参数,因此必须以正确的顺序作为第一个和第二个参数出现。其余参数都是关键字参数,这意味着它们是可选的,并且可以以任何顺序出现,前提是您使用关键字。下一个参数是确定数组元素在数据文件中的显示方式的格式字符串。该参数是可选的,如果省略,格式为0.18e,该格式以指数(科学)记数法将数字显示为18位浮点数。这里我们选择不同的格式12.1f,它是一个浮点数,小数点右侧有1位数字,最小宽度为12。通过选择12,它比各种数组中的任何数字都要多,我们可以确保所有列都具有相同的宽度。它还确保一列数字中的小数点对齐。

输出结果:

4.4.2 将数据写入CSV文件

要生成CSV文件,您需要指定一个逗号作为分隔符。您可以使用0.1f格式说明符,该格式说明符在逗号数据分隔符之间不留多余的空间。

代码如下:

输出结果:

你可能感兴趣的:(python,savetxt)