How to do calculations from a csv in python
所以,目前我有一个csv文件,创建了6行,1列(头和5个数字),我想能够做一个转换,比如从厘米到英寸,并保存在一个新的csv和一个新的头。
一般来说,我对编码还不熟悉,但到目前为止,我只能导入和读取csv,并打印它(使用打印行),但我想知道如何进行转换,因为这些数字保存在csv中,我是否需要将这些数字转换为浮点数,然后以某种方式将其写入新的csv?我只有5个数字,因为我想知道正确的代码,但我想能够使用它为许多数字,而不仅仅是5。因此,我无法编写打印行[1]或类似的内容,因为这将花费太长的时间。
我也不确定计算的位置。救命啊!而且,这不是家庭作业之类的。我只是为了好玩。
这是我目前拥有的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 | import csv with open('test.csv', 'rb') as f: reader = csv.reader(f) next(reader, None) # I did this to skip the header I labelled Centimeters with open('test1.csv', 'wb') as o: writer = csv.writer(o) for row in reader f.close() o.close() |
我想我不知道如何将行中的数字转换为float,然后输出值。我只想能够将行中的数字乘以0.393701,这样在新的csv中,头段被标记为英寸,下面的输出在行中。
如果数字是每行一个,那么它实际上不是一个csv文件,它只是一个文本文件,在这种情况下,您不需要使用python库中的csv读取系统来读取它(尽管该库也可以读取该文件)。
基本上,你的程序会是这样的(这不是真正的python代码,这是你的工作!):
1 2 3 4 5 6 7 8 | with either the CSV module or regular file operations open your file with either the CSV module or regular file operations open an output file with a different name for each line in the input file convert the value you read to float() transform the value write the value to the output file |
够你开始了吗?(这实际上比最终的python程序需要更多的行,因为您可以轻松地将一些行组合成一行)。