如何将密钥对值添加到打开的csv文件中?

时间:2018-12-30 04:25:14

标签: python

我是Python的新手。我只用字母简化了下面的代码。我的代码编写了一个CSV文件,该文件的a,b,c,d列各有10行(长度)。我想将c和d的平均值添加到同一CSV文件中,以及另外两列,每列均包含一行ave值。我试图附加字段名称并编写新值,但这没有用。

with open('out.csv', 'w') as csvfile:
    fieldnames=['a','b','c','d']
    csv_writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    csv_writer.writeheader()
    total_c=0
    total_d=0
    for i in range(1,length):
        do something get a,b,c,d values.
        total_c += c
        total_d += d
        csv_writer.writerow({'a': a,'b':b,'c':c,'d':d })
    mean_c=total_c /length
    mean_c=total_c /length

我希望在图片中看到一些东西

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试使用熊猫库处理csv文件。我在下面提供了示例代码,我假设csv文件的第一行中没有标题。

import pandas as pd

data = pd.read_csv('out.csv',header=[['a','b','c','d'])
#making sure i am using copy of dataframe
avg_data = data.copy()

#creating new columns average in same dataframe
avg_data['mean_c'] = avg_data.iloc[:,2].mean(axis=1) 
avg_data['mean_d'] = avg_data.iloc[:,3].mean(axis=1) 

# writing updated data to csv file 
avg_data.to_csv('out.csv', sep=',', encoding='utf-8')