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

作者:羊草 时间:2021-06-25 03:58:51 

目录
  • 问题

  • 思路

  • 代码实现

  • 测试效果

问题

  • 一张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按照行数分割表格

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

分割后

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

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

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

来源:https://blog.51cto.com/u_11555417/3328166

标签:pandas,按行,分割
0
投稿

猜你喜欢

  • selenium python浏览器多窗口处理代码示例

    2023-11-20 07:09:29
  • JSP 获取spring容器中bean的两种方法总结

    2023-06-15 07:27:46
  • js实现rem自动匹配计算font-size的示例

    2023-08-22 11:02:33
  • DHTML实例解析:用HTC统一定制表单样式

    2007-11-04 18:48:00
  • ASP平台如何打造金牌英文网站

    2008-04-10 08:47:00
  • dl+ol应用

    2008-06-21 17:04:00
  • golang copy函数使用的坑

    2023-07-09 19:53:44
  • python爬虫判断招聘信息是否存在的实例代码

    2022-09-14 20:38:04
  • 戴着锁链跳舞

    2009-08-20 13:06:00
  • 解决python matplotlib imshow无法显示的问题

    2023-07-19 23:59:25
  • python线程信号量semaphore使用解析

    2023-02-08 08:47:24
  • 解析php获取字符串的编码格式的方法(函数)

    2023-10-02 22:26:49
  • PHP加密函数 Javascript/Js 解密函数

    2023-06-15 18:03:03
  • CTF中的PHP特性函数解析之中篇

    2023-06-11 12:56:20
  • PHP中定义数组常量(array常量)的方法

    2023-11-23 06:16:59
  • Oracle 数据库操作技巧集

    2010-07-26 12:49:00
  • Python实现钉钉订阅消息功能

    2023-02-23 05:25:08
  • 浅析is_writable的php实现

    2023-09-09 01:41:05
  • MySQL权限详解

    2011-02-16 12:20:00
  • 如何在Python项目中引入日志

    2023-01-25 15:10:53
  • asp之家 网络编程 m.aspxhome.com