Python解析Excel入库如何做到行的拆分

我们读取解析Excel入库经常会遇到这种场景,那就是行的拆分,如图:

比如我们入库,要以name为主键,可是表格name的值全是以逗号分割的多个,这怎么办呢?这就必须拆成多行了啊。

代码如下:

python 复制代码
from sqlalchemy import create_engine
import numpy as np
import pandas as pd
conn = create_engine("mysql+pymysql://user:pass@host:3306/db")
df = pd.read_excel("test.xlsx")
df.dropna(subset=["name"])    #删除空行
droplist=[]                 #记录带逗号的行号
for i in df.index:          #遍历每一行
  df_line = df.loc[[i]]        #本行
  names = df.loc[i,'name']
  name_list = names.split(',') 
  #逗号分割超过一条,拆成多行
  if(len(name_list)>1):
    droplist.append(i)     #删除原来的行
    for name in name_list:
      name = name.strip()
      df_line.loc[i,'name'] = name   #修改本行的字段值 也就形成了新行
      df = pd.concat([df,line],ignore_index=True)  #拆分的新行附加到最后面
      
df.drop(droplist,axis=0,inplace=True)   #删除原来有逗号的行

这样我们就得到了新的df,已经完成了重组,如图

相关推荐
Escalating_xu11 分钟前
C++可变参数模板与引用折叠精讲
开发语言·c++
wuyk55516 分钟前
59.嵌入式C语言高级宏定义实战:多行宏、字符串化与符号拼接
c语言·开发语言·stm32·单片机·嵌入式硬件·物联网·51单片机
云泽80822 分钟前
Visual Studio 2026 新手保姆级教程:环境搭建、界面优化与编译器配置详解
开发语言·c++·c·开发工具·visual studio
2zcode1 小时前
基于MATLAB深度学习的乳腺钼靶影像乳腺癌智能诊断系统设计与实现
开发语言·深度学习·matlab·乳腺癌
MoonBit月兔1 小时前
错过大赛报名?MoonBit 开源大赛- 8 月黑客松正式开启
开发语言·ai-native·moonbit
小猴子爱上树1 小时前
一站式解决图片视频翻译难题的高效AI工具
人工智能·python·音视频
weixin_538601971 小时前
智能体测开Day31
开发语言·python
lbb 小魔仙2 小时前
Git + Python 项目工作流最佳实践:pre-commit、CI、CHANGELOG 自动化
git·python·ci/cd
dyxal2 小时前
最长公共子序列(LCS)
python·算法
geovindu2 小时前
java: Facade Pattern
java·开发语言·后端·外观模式·结构型模式