Как скопировать определенные аналогичные строки данных из файла Excel и сохранить в другой файл Excel? - PullRequest
0 голосов
/ 01 июля 2019

Я хотел бы спросить, как скопировать определенные подобные строки данных из файла 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

Любая помощь будет оценена, спасибо!

1 Ответ

0 голосов
/ 01 июля 2019

Вы можете проверить с помощью 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
...