本篇內(nèi)容介紹了“MySQL怎么實(shí)現(xiàn)一行轉(zhuǎn)多行”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
博樂(lè)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
# 數(shù)據(jù)讀取
import pandas as pd
df= pd.read_excel('./excel一行轉(zhuǎn)多行.xlsx')
## split
df['銷售明細(xì)(產(chǎn)品與數(shù)量)'].str.split(';',expand = True)
df['銷售明細(xì)(產(chǎn)品與數(shù)量)'].str.split(';',expand = True).stack().reset_index(level = 1 ,drop = True).rename('銷售明細(xì)')
df.drop('銷售明細(xì)(產(chǎn)品與數(shù)量)',axis =1).join(df['銷售明細(xì)(產(chǎn)品與數(shù)量)'].str.split(';',expand = True).stack()\
.reset_index(level = 1 ,drop = True)\
.rename('銷售明細(xì)'))
中文封號(hào)的長(zhǎng)度是3, 所以需要除以3
from sqlalchemy import create_engine
import pandas as pd
from sqlalchemy import text
from warnings import filterwarnings
# 由于create table if not exists總會(huì)拋出warning,因此使用filterwarnings消除
filterwarnings('ignore')#, category = MySQLdb.Warning
engine=create_engine('mysql+pymysql://root:root@localhost:3306/cda')
sql_1 = '''SELECT a,
SUBSTRING_INDEX(
SUBSTRING_INDEX(b, ';', mh.help_topic_id + 1),
';' ,-1 )
FROM row2
LEFT JOIN mysql.help_topic mh ON mh.help_topic_id <= (LENGTH(b) - LENGTH(REPLACE(b, ';', '')))/3 ;
'''
df = pd.read_sql_query(text(sql_1), engine)
df
“Mysql怎么實(shí)現(xiàn)一行轉(zhuǎn)多行”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!