根据数据格式合并CSV文件数据单元

时间:2015-08-08 10:50:57

标签: python csv

我有一个大约1百万行的CSV文件。 让我们说它有像

这样的细节
Name      |   Age   | Salary 
name 1      52       10000
name 2      55       10043 
name 3      50       100054
name 2      55       10023
name 1      52       100322...

很快。

但我需要合并冗余的细节。 并需要像

这样的输出
Name      |   Age   | Salary 
name 1      52       110322*
name 2      55       20066 *
name 3      50       100054 

您可能会注意到重复的名称1和名称2详细信息已合并,并且添加了工资值。因此,我正在寻找将此更改应用于原始数据集的方法。所以我需要一个python脚本来解决我的问题。

2 个答案:

答案 0 :(得分:1)

首先,您没有合并,而是聚合数据集。

考虑使用pandas包。将csv导入为数据框,然后使用group by sum()函数来聚合Salary字段和其他数量值。将相同的原则应用于其他相关领域:

#!/usr/bin/python
import pandas as pd

df = pd.read_csv('C:\\Path\\To\\InputCSV.csv')

newdf = df.groupby('Name', 'Age').sum()

newdf = to_csv('C:\\Path\\To\\OutputCSV.csv')

答案 1 :(得分:1)

使用以下

>>> import pandas as pd
>>> data = pd.read_csv('data.csv')
>>> data_merged = data.groupby(['Name', 'Age']).sum().reset_index()
>>> data_merged

    Name   Age  Salary 
0  name 1   52   110322
1  name 2   55    20066
2  name 3   50   100054