您的位置: 网站首页> Pandas教程> 当前文章

pandas固定行数拆分excel文件为多个excel

老董2020-06-03181围观,100赞

  需求:把一个excel大文件kwd.xlsx按照指定的行数(600行)进行分割,思路如下:

  1、读取excel,获取到总行数rows(不含表头)

  2、指定行数split_num,计算rows/split_num并向下取整,得出能按标准分割的次数value

  3、按照标准分割次数计算能占用的总行数 rows_format = value*split_num

  4、根据总行数总行数 rows_format生成二维列表,列表的元素依次为[0,split_num],[split_num,split_num+split_num]...

  5、循环列表,利用dataframe切片(末端不包含)来依次获取固定数据写入到excel

  6、最后把剩余的行数并写入

  tips:

  1、切片是末端不包含的

  2、写入excel记得把index参数设为False,否则就把索引也写入了

  代码如下:

# -*- coding: utf-8 -*-
import pandas as pd
import math

df = pd.read_excel('kwd.xlsx')
rows,cols = df.shape # 获取行数列数,默认第一列表头不算行数

split_num = 600 # 指定分割行数
value = math.floor(rows/split_num) # 标准分割次数
rows_format = value*split_num # 标准分割所占用总行数
new_list = [[i,i+split_num] for i in range(0,rows_format,split_num)]

# 标准行数文件
for i_j in new_list:
    i,j = i_j
    excel_small = df[i:j]
    # index为False,否则就把行索引写入了
    excel_small.to_excel('kwd_{0}_{1}.xlsx'.format(i,j),index=False)

# 最后分割出的文件
df[rows_format:].to_excel('kwd_last.xlsx',index=False)

很赞哦!

python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群 python学习会

文章评论

    pandas固定行数拆分excel文件为多个excel文章写得不错,值得赞赏

站点信息

  • 网站程序:Laravel
  • 博主微信:a772483200