我需要读取CSV中的各个行,根据这些行(x2)中的值进行计算,然后使用新值追加这些行

时间:2016-08-08 16:10:18

标签: python-2.7

我有一个.CSV,我试图从中读取单个行,从行中的各个值进行计算,然后将计算得到的值附加到该行的末尾。我的方法是迭代每一行,调用值,从该值进行计算,然后追加到该行。这是当前的mu代码(有一次我设法将所有的计算结果附加到csv行的最后一行,这很有希望但不正确,现在我得到一个“'_csv.writer'对象不可迭代”类型错误):

import csv 
import math

f = open('planet_data.csv','a+')
writer = csv.writer(f)

for row in writer:                  <- loction of error
    if row[1] == 'Planet_Radius':   <- To bypass csv header values
        pass
    else:
        a = int(row[1])
        b = str((4/3)*math.pi*(a**3))
        row.writerow(b)
        print row

任何帮助都会受到赞赏,我猜测迭代器问题解决后代码仍然需要工作。此外,我猜测有一些软件包/模块可以简化这一点,但本练习的目的是学习如何手动循环csvs。

1 个答案:

答案 0 :(得分:0)

我不认为您可以在同一个文件中写入更改, 但你可以用这种方式创建一个新的:

pg_terminate_backend

我希望这会有所帮助!