我有多个csv,我想根据行键和列键添加这两个csv中的数据 例如:
input1.csv
account,param1,param2,param3
D1,2,-1,0
D2,3,2,-2
D4,12,-1,-2
D3,1,1,0
input2.csv
account,param1,param2,param3
D4,22,-1,0
D6,3,2,-2
D1,-2,-1,-2
D3,1,1,0
output.csv
account,param1,param2,param3
D1,0,-2,0
D2,3,2,-2
D3,2,2,0
D4,34,-2,-2
D6,3,2,-2
因此,在output.csv中,我需要在csv和csv中都存在所有帐户,对于普通帐户,需要添加param值。
注意:帐户不按顺序排列
答案 0 :(得分:0)
这是使用In [824]: df = pd.concat((pd.read_csv(f) for f in ['input1.csv', 'input2.csv']), ignore_index=True)
In [825]: df
Out[825]:
account param1 param2 param3
0 D1 2 -1 0
1 D2 3 2 -2
2 D4 12 -1 -2
3 D3 1 1 0
4 D4 22 -1 0
5 D6 3 2 -2
6 D1 -2 -1 -2
7 D3 1 1 0
In [826]: df.groupby('account', as_index=False).sum()
Out[826]:
account param1 param2 param3
0 D1 0 -2 -2
1 D2 3 2 -2
2 D3 2 2 0
3 D4 34 -2 -2
4 D6 3 2 -2
In [827]: df.groupby('account', as_index=False).sum().to_csv('output.csv', index=False)
const dropdownObjects = [
{ column: 'value1', dropdown: '#id1' },
{ column: 'value2', dropdown: '#id2' },
{ column: 'value3', dropdown: '#id3' },
// ...
];
for (var i = 0; i < dropdownObjects.length; i++) {
populateDropdowns(dropdownObjects[i]);
}