我想问一下如何从excel文件中复制某些相似的数据行,并根据特定的列名保存到另一个excel文件中?我想根据编号为“名称”的第1列找出相似的单词(输入文件中有3列,分别是名称,数字和数字),然后将整行复制到另一个excel文件中。接下来,我还希望通过添加'zzzz | 0 | 0'在丢失的行上。
最终,将有3个不同的excel文件。所有文件都有相同的行数,在这种情况下,每个文件都有4行。
输入(excel文件):
name | number | number
aaaa | 123456 | 223456
aaaa | 123456 | 221456
bbbb | 123356 | 228456
bbbb | 123556 | 229456
cccc | 123756 | 200456
cccc | 122256 | 220756
cccc | 121156 | 226656
预期输出(Excel文件1):
name | number | number
aaaa | 123456 | 223456
aaaa | 123456 | 221456
zzzz | 0 | 0
预期的输出(Excel文件2):
name | number | number
bbbb | 123356 | 228456
bbbb | 123556 | 229456
zzzz | 0 | 0
预期输出(Excel文件3):
name | number | number
cccc | 123756 | 200456
cccc | 122256 | 220756
cccc | 121156 | 226656
任何帮助将不胜感激,谢谢!
答案 0 :(得分:0)
您可以使用goupby
+ reindex
g=df.groupby('name')
for x , y in g :
y=y.reset_index(drop=True).reindex(range(g.size().max())).fillna({'name':'zzzz'}).fillna(0)
y.to_csv(x+'.csv')
print(y)
name number number.1
0 aaaa 123456.0 223456.0
1 aaaa 123456.0 221456.0
2 zzzz 0.0 0.0
name number number.1
0 bbbb 123356.0 228456.0
1 bbbb 123556.0 229456.0
2 zzzz 0.0 0.0
name number number.1
0 cccc 123756 200456
1 cccc 122256 220756
2 cccc 121156 226656