linux 重定向csv去掉科学记数法_[科学与工程Python简介]——Chapter 4

本文介绍了如何使用Python处理CSV文件,重点在于避免科学记数法的显示。通过讲解str.format()格式化输出,np.loadtxt读取txt数据,以及np.savetxt写入数据到文本和CSV文件,特别是对np.savetxt的格式参数进行设置以控制数值的显示形式。
摘要由CSDN通过智能技术生成

Chapter 4:输入输出

4.2.1 使用str.format()格式化输出 4.3 文件输入 4.3.1从txt读取数据(np.loadtxt) 4.3.2 从Excel文件读取数据:CSV文件 4.4 文件输出 4.4.1 将数据写入文本文件(np.savetxt) 4.4.2 将数据写入CSV文件

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

3861c003815e0cd7448b1dc42c91cbba.png

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)

619acadeefe0aad2521959fedd96f56d.png

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

d72714f94753c2d0482e72a4861acb83.png

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

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

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

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

9b4203239332b3a9a9d20cf6d35e09e0.png

转换为:

c08fa8b2d8c660a44324abbb0c2ab344.png

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

c35aafd3cdda5b5066adfbd30e7ed8a8.png

4.4 文件输出

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

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

beb333f22771638b9e3ee0dbc26a941c.png

示例:

6cdab98dcb5ce6d0474e53058a2811b9.png

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

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

输出结果:

18b009ad9a8b33f0bb108d13abf0a14a.png

4.4.2 将数据写入CSV文件

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

代码如下:

fcbdae70630d8d5761645b46b863970a.png

输出结果:

38812c300a1f02e7d96416e763b252ea.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值