场景1
1. 在抓取数据的时候有时会出现许多数据被抓取在同一行,为了更方便的查看数据 需要将一行数据拆分为多行,如下图,我想要将上方A中的格式按照%切割成B。

1.1 我们可以利用分列的方式去实现。具体流程如下:

通过转置的方式将整行内容转变成一列的内容再写入到excel中,然后利用分列实现数据分开(这里的内容替换大家可以按自己需求设定),然后我们将分列得到的数据读取后再通过转置的方式将列换成行,再次写入到excel中。
运行结果:

1.2 除此之外还可以使用文本分割再写入的方式完成,流程如下:

这里可以通过设置变量去控制需要写入的列号
运行结果如下:

场景2
2. 除了上述的情况外,还会遇到某一列数据需要按需拆分成多行 如下图所示,需要将A转换成B(将发货省份那一列中的数据进行拆分成多行)

2.1 我们可以直接使用编码版完成这个操作,使用pandas中的explode()方法 可以实现这个效果,代码也很简洁。(需要安装一下pandas库和openpyxl库)。
import pandas as pd
def main(args):
data = pd.read_excel('需要处理的excel文件地址', sheet_name='数据所在的sheet页名称')
# 读取Excel数据
data['你需要修改的列的表头名'] = data['你需要修改的列的表头名'].apply(lambda x: x.replace(',', ', ').split(', '))
# 把,(中文状态)替换成,(英文状态)并按,(英文状态)分割成列表(由于explode有格式限制,所以需要统一格式,这里将你之前的分隔符替换成逗号,我之前使用的是中文状态下的逗号,需替换成英文状态下的逗号)
data = data.explode('你需要修改的列的表头名')
# 将每个列表中的元素展开为独立的行
data.to_excel('需要保存的excel文件地址', index=False)
# 回写到原来的excel或者新的excel,如果选择回写到之前的excel会自动覆盖之前的数据,(大家测试时可以先备份一下,以免丢失原始数据)
print(data)
除了单列数据以外,explode()方法也支持对多个列同时展开。对于多个列,explode() 会在每一列的所有元素上同时“展开”,确保每一行都对应一个完整的记录。有兴趣的小伙伴可自行研究~
2.2 除了上述方法外,还可以使用excel中的Power Query编辑器。
选中包含需要分列的大区域,在数据选项卡中找到从表格创建链接,然后会打开Power Query编辑器,在编辑器中选择需要拆分数据的列,点击拆分列选项,按照分隔符拆分,在高级选项中选择拆分为行,分隔符可自定义设置,设置好后点击确定,最后再点击左上角关闭并上载至 然后选择需要放置的区域即可,示例如下:

2.3 还可以直接利用第三方插件实现,我这里使用的是【方方格子】

小伙伴们可以自行百度这个插件安装使用~