温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Mysql怎么实现多行转一行

发布时间:2021-09-16 14:51:13 来源:亿速云 阅读:199 作者:chen 栏目:大数据

这篇文章主要介绍“Mysql怎么实现多行转一行”,在日常操作中,相信很多人在Mysql怎么实现多行转一行问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql怎么实现多行转一行”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

import pandas as pd
df = pd.read_excel('学习多行字符串分组为一行.xlsx',)

Mysql怎么实现多行转一行

python 法一 合并为列表

re =df.groupby(['公司','负责人'])['手机号'].apply(list).reset_index()
##或者 pd.DataFrame(df.groupby(['公司','负责人'])['手机号'].apply(list))
re

Mysql怎么实现多行转一行

python 法二 apply字符串平均
#df.groupby(['公司','负责人'])['手机号'].apply(lambda x: ''.join(x.to_string(index=False))).str.replace('(\\n)', '').reset_index()
df['手机号']= df['手机号'].astype(str)
df.groupby(['公司','负责人'])['手机号'].apply(lambda x: ','.join(x)).reset_index()

Mysql怎么实现多行转一行

Mysql 方法 :group_concat()

保存到数据库

import time
import requests
import json
import os
import pandas as pd
import warnings
import  arrow
from sqlalchemy import create_engine
import sys
from sqlalchemy import text
if sys.version_info.major<3:
   reload(sys)
   sys.setdefaultencoding("utf-8")
warnings.filterwarnings("ignore")
engine = create_engine('mysql+pymysql://账户名:密码@IP d地址/xxxxx?charset=utf8')
df.to_sql(name='学习字符串分组合并', con=engine, chunksize=1000, if_exists='append', index=None)

sql_1 = '''
select 公司 ,负责人,
GROUP_CONCAT(手机号 order BY '公司' DESC)
as 手机号
from `学习字符串分组合并`
GROUP BY 公司 ,负责人
;
'''
df_stu = pd.read_sql_query(text(sql_1), engine)
df_stu

Mysql怎么实现多行转一行

到此,关于“Mysql怎么实现多行转一行”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI