Skip to main content
 首页 » 编程设计

python之如何在csv文件中将一列乘以另一列并重写

2025年05月04日11linjiqin

我有一些 csv 格式的数据,我需要将第 3 列乘以第 6 列并将结果附加到末尾。我的数据如下:

 TITLE,TITLE,T,T,T,T 
 data,data,5,data,data,98.7,data 
 data,data,2,data,data,97,data 
 data,data,5,data,data,98,data 
 data,data,4,data,data,8.7,data 
 data,data,5,data,data,9.7,data 
 data,data,12.5,data,data,198.7,data 

我真的是编码新手,但我的尝试如下: 导入 csv 导入日期时间 导入副本 从集合导入默认字典

class_col = 2 
data_col = 5 
 
with open('minitest.csv', 'r') as f: 
    data = [line.strip().split(',') for line in f] 
 
for row in data: 
    class_col*data_col 
 
with open('minitest_edit.csv', 'w') as nf: 
    nf.write('\n'.join(','.join(row) for row in data)) 
 
print "done" 

我没有收到任何错误,有什么建议吗?感谢操作系统”

请您参考如下方法:

使用csv.reader 和csv.writer:

import csv 
 
 
with open('minitest.csv', 'rb') as f: 
    reader = csv.reader(f) 
    data = [next(reader)]  # title row 
    for row in reader: 
        data.append(row + [float(row[2]) * float(row[5])]) 
 
with open('minitest.csv', 'wb') as nf: 
    writer = csv.writer(nf) 
    writer.writerows(data) 

产生:

TITLE,TITLE,T,T,T,T 
data,data,5,data,data,98.7,data,493.5 
data,data,2,data,data,97,data,194.0 
data,data,5,data,data,98,data,490.0 
data,data,4,data,data,8.7,data,34.8 
data,data,5,data,data,9.7,data,48.5 
data,data,12.5,data,data,198.7,data,2483.75