社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何从excel文件中复制某些相似的数据行,并使用python保存到另一个excel文件中?

Edison Toh • 4 年前 • 727 次点击  

我想问一下如何从一个excel文件中复制某些类似的数据行,并根据特定的列名保存到另一个excel文件中?我想根据第1列“name”找出类似的单词(输入文件中有3列,分别是name、number和number),然后将整行复制到另一个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文件no2):

name | number | number 
bbbb | 123356 | 228456
bbbb | 123556 | 229456
zzzz | 0      | 0

预期输出(excel文件no3):

name | number | number 
cccc | 123756 | 200456
cccc | 122256 | 220756
cccc | 121156 | 226656

任何帮助都将不胜感激,谢谢!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/47080
 
727 次点击  
文章 [ 1 ]  |  最新文章 4 年前
WeNYoBen
Reply   •   1 楼
WeNYoBen    4 年前

你可以查一下 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