python使用pandas按照行数分割表格

 更新时间:2021年08月13日 10:00:14   作者:羊草  
本文主要介绍了python使用pandas按照行数分割表格,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

问题

  • 一张excel表格,大概1万行,需要录入系统
  • 系统每次最多只能录入500行表格数据,一旦超过500行,就会录入失败
  • 需要把1万行的数据按照500行分割,形成20个表格,这样才能录入系统

思路

  • 使用pandas得到总行数,比如10002行,分割表格的时候,要保留一行表头
  • 第一张表,是1-500行,第二张表是 501-1000,以此类推
  • 最后一张表应该是1000-10002行,生成的表格数量是10000/500+1,21张
  • 生成的表格按照顺序保存到一个目录中
  • 写一个函数,可以按照任意指定的分割数量进行分割。

代码实现

#按行数分割表格函数
#问题
#1.如果有有一个十万行表格,要录入系统,但是系统每次最多只能录入500行?
#解决问题:
#1.按照指定的行数分割表格
#2.分割出来的表格按照序号命名
import pandas as pd
import os
def SplitExcel(file,num):
    file_dir='result'   #创建目录
    if os.path.isdir(file_dir):
        os.rmdir(file_dir)
    else:
        os.mkdir(file_dir)
    n = 1
    row_list = []
    df = pd.DataFrame(pd.read_excel(file, sheet_name=0))
    row_num = int(df.shape[0])  # 获取行数
    if num >= row_num:  #如果分割行数大于总行数,报错
        raise Exception('too much!!')
    try:
        for i in list(range(num,row_num,num)):
            row_list.append(i)
        row_list.append(row_num)  # 得到完整列表
    except Exception as e:
        print (e)

    (name,ext)=os.path.splitext(file)  #获取文件名

    for m in row_list:

        filename=os.path.join(file_dir,name+'-' + str(n) + '.xlsx')
        if m <row_num:
            df_handle=df.iloc[m-num:m] #获取n行之前
            print (df_handle)
            df_handle.to_excel(filename , sheet_name='sheet1',index=False)
        elif m == int(row_num):
            remainder=int(int(row_num)%num) #余数
            df_handle=df.iloc[m-remainder:m] #获取最后不能整除的行
            df_handle.to_excel(filename , sheet_name='sheet1', index=False)
        n = n + 1

if __name__=='__main__':
    file= 'result.xls'
    SplitExcel(file,num=10)

测试效果

一张83行的表格,去除表头,一共82行,按照10行分割,一共要获得9张表格,最后一张表格,应该只有两行,中间的表格,数据必须是连续的,

分割前

分割后

到此这篇关于python使用pandas按照行数分割表格的文章就介绍到这了,更多相关pandas按行分割表格内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python处理html转义字符的方法详解

    python处理html转义字符的方法详解

    这篇文章主要介绍了python处理html转义字符的方法,结合实例形式较为详细的分析了Python针对常见HTML转义字符处理技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • Python调用VBA实现保留原始样式的表格合并方法

    Python调用VBA实现保留原始样式的表格合并方法

    本文主要介绍了Python调用VBA实现保留原始样式的表格合并方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Python OpenCV实现边缘检测

    Python OpenCV实现边缘检测

    这篇文章主要为大家详细介绍了Python OpenCV实现边缘检测,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • python合并多个excel文件的示例

    python合并多个excel文件的示例

    这篇文章主要介绍了python合并多个excel文件的示例,帮助大家提高办公效率,感兴趣的朋友可以了解下
    2020-09-09
  • python实现猜数游戏(保存游戏记录)

    python实现猜数游戏(保存游戏记录)

    这篇文章主要为大家详细介绍了python实现猜数游戏,保存游戏记录,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • python移位运算的实现

    python移位运算的实现

    这篇文章主要介绍了python移位运算的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Django框架之DRF 基于mixins来封装的视图详解

    Django框架之DRF 基于mixins来封装的视图详解

    今天小编就为大家分享一篇Django框架之DRF 基于mixins来封装的视图详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • 基于Opencv制作的美颜相机带你领略美颜特效的效果

    基于Opencv制作的美颜相机带你领略美颜特效的效果

    最关于美颜类相机最重要的是第一步:人脸检测,本篇文章中是采用openCV开源库实现,文中给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值
    2021-09-09
  • 深度学习TextRNN的tensorflow1.14实现示例

    深度学习TextRNN的tensorflow1.14实现示例

    这篇文章主要介绍了深度学习TextRNN的tensorflow1.14实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • 利用Python制作简易的点赞器

    利用Python制作简易的点赞器

    在今天,任何一个社区类平台,都具备点赞功能,应运而生的就是自动点赞器,俗称刷分机/刷赞器。本文将用Python编写一个点赞机器人,需要的可以参考一下
    2022-06-06

最新评论