如何从python中的csv进行计算

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程序需要更多的行,因为您可以轻松地将一些行组合成一行)。