Python他不香吗?四、五行代码就能搞定几百份表格的拆分!

作者: 锋小刀
微信搜索【Python与Excel之交】关注我的公众号查看更多内容

当你要重复做一件事时,你就要想到python,因为这样会为你省下很多时间。

我们经常会在工作中遇见,类似下图中的表格(原始表格共计 5136条数据),上级要求你将 品名列的商品筛选出来,并按照” 品名+ .xlsx“的格式单独保存为一个exce工作簿,或者以 品名为名保存为多个工作表,这样数据少了还好说,如果数据量大了,那还不得累得半死!

Python他不香吗?四、五行代码就能搞定几百份表格的拆分!
业务需求:
  • 品名列的商品取出来, 相同的存储在同一个工作表或者工作簿中。
; 代码实现

导入模块和文件:

import pandas as pd
df = pd.read_csv('价格.csv')

本文关键步骤是通过 两个方法实现的,两个方法会分别实现 如何取值保存为工作表以及 工作簿;而关键步骤代码量最多不会超过 三行,最少的只有 两行两个方法其实差不多,差别只在于两个函数。

第一种方法是利用 unique()函数。 unique()函数是以数组形式返回列的所有唯一值,也就是相同的两个值只返回一个。

保存为工作表:

with pd.ExcelWriter('价格总表.xlsx') as writer:
    for i in df['品名'].unique():

        df[df['品名'] == i].to_excel(excel_writer=writer, sheet_name=i, index=False)

同理,保存为工作簿:

for i in df['发布日期'].unique():
    df[df['发布日期'] == i].to_excel(f'./商品每日价格详表/{i}.xlsx', sheet_name=i, index=False)

第二种方法是利用 groupby()函数。 groupby()函数主要的作用是进行数据的分组以及分组后进行运算,本文只要用到 groupby()函数的分组功能。

保存为工作表:

with pd.ExcelWriter('价格总表1.xlsx') as writer:

     for i, e in df.groupby('品名'):
         e.to_excel(excel_writer=writer, sheet_name=i, index=False)

for i, e in df.groupby('品名'):
    e.to_excel(f'./商品每日价格详表/{i}.xlsx', sheet_name=i, index=False)

下图 i为红色方框内的品名, e是以唯一的品名进行分好的组:

Python他不香吗?四、五行代码就能搞定几百份表格的拆分!
运行程序后,保存的工作表:
Python他不香吗?四、五行代码就能搞定几百份表格的拆分!
保存好的工作表,一共 416个工作簿:
Python他不香吗?四、五行代码就能搞定几百份表格的拆分!
我们可以看到,只需要 四、五行代码即可拆分 416个工作表和工作簿,而 关键代码也就两三行;如果是手动的进行拆分,那还不知道拆到何年何月,所以python是真的能为你省下很多时间!

Original: https://blog.csdn.net/weixin_49669074/article/details/114637878
Author: Python与Excel之交
Title: Python他不香吗?四、五行代码就能搞定几百份表格的拆分!

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/755544/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球