利用pandas模块实现excel多行文本合并

需求:excel中,可以通过数据透视表实现对数值数据进行求和汇总,但不能实现对同一字段对应的文本内容实现汇总,只能分行展示,有时候我们需要多行文本合并到同一单元格中,用复制粘贴方法难免效率低下,本文借助python实现自动汇总。

思路:读取excel内容——对汇总字段进去去重——读取汇总内容——合并写入excel。

案例:各地区农特产品内容汇总。

原始表格内容如下:
 

需要把”区域“列相同内容的值,合并到一行,用指定符号分隔。代码如下:

import pandas as pd
import numpy as np
excel_path="测试表.xlsx"
sheet_name="Sheet1"
usecols1="区域"
usecols2="特产"
dp1=pd.read_excel(excel_path,sheet_name="Sheet1",usecols=[usecols1,usecols2],keep_default_na=False).values.tolist()
dp2=set([i[0] for i in dp1 ])
result_all=[]
for i in dp2:
    resulti = []
    resultj = []
    for j in dp1:
        if i==j[0]:
            resultj.append(j[1])
        else:
            continue
    resulti=[i,"、".join(resultj)]
    result_all.append(resulti)
dataframe=pd.DataFrame(np.array(result_all),columns=[usecols1,usecols2])
dataframe.to_excel("result.xlsx",index=False)

最终效果如下:

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值