python使用pandas按照行数分割表格
作者:羊草 发布时间:2021-06-25 03:58:51
标签: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张表格,最后一张表格,应该只有两行,中间的表格,数据必须是连续的,
分割前
分割后
来源:https://blog.51cto.com/u_11555417/3328166
0
投稿
猜你喜欢
- SELECT SUBSTR (T.RPT_ID, &nb
- 近来有客户要求用table显示一大串数据,由于滚动后就看不到表头,很不方便,所以想到这个效果。上次做table排序对table有了一些了解,
- 启动mysql server 失败,查看/var/log/mysqld.err080329 16:01:29 [ERROR] Can'
- 蚁群算法简介蚁群算法(Ant Clony Optimization, ACO)是一种群智能算法,它是由一群无智能或有轻微智能的个体(Agen
- 字体大小CSS2规范根据长度——水平和垂直尺寸——来定义字体。这个长度为一个数值,前面可能带一个可选的加(+)或减(-)标记符。另外,该数值
- 通过学习ASP明明白白你的If语句流程。If condition Then [statements1]E
- PPT链接说实话,看到这个题目时我觉得这有什么好讨论的,肯定会是场一边倒的讨论。因为个人比较倾向于短命名,简单优雅,可能是出于程序员的洁癖,
- 谢谢icedblog提供的代码, 从那个js中我参考了moveSelect的利用, 不过那个代码中有几个BUG, 比如按住鼠标不放会不见显示
- 为什么是三谈为什么是三谈呢?一是因为这真的是一个被说烂的话题,二是因为太师傅在n年前就写过这篇再谈iframe自适应高度。之所以再提该问题,
- 本文实例讲述了JavaScript点击按钮后弹出透明浮动层的方法。分享给大家供大家参考。具体分析如下:这里实现点击后页面变灰色,并用JS弹出
- JavaScript提交至servlet 5种方式:/**第一种提交方式 * */function submitForm1(){window
- 内容摘要:“ASP”(Active Server Pages)作为一种典型的服务器端网页设计技术,被广泛地应用在网上银行
- 我们开发数据库应用时,常常需要用到模糊查询。如果同一个条件需要匹配很多字段怎么办呢?通常,程序员会每个字段都在SQL中“field like
- 首先此问题来自向这个帖子http://hi.baidu.com/fire_love_live/item/247276cfda421217b6
- oracle命令删除用户:connect / as sysdba; shutdown abort; startup;&n
- 1、说明*,nkw表示命名关键字参数,是用户想输入的关键字参数名称,定义方式是在nkw前追加*,2、作用限制调用者传达的参数名称。3、实例#
- 如何显示一个文本文件?完整显示文本文件的代码如下: Write(STRING) WriteLine(STRING) WriteBlan
- 下面代码写的是js验证检查输入的字符是否是全角的函数:效果演示:<script> function i
- 如何用ASP输出HTML文件?<!--#include file="top.inc"--><
- 前段时间练习过的一个小项目,今天再看看,记录一下~项目结构说明:datefile文件夹:保存车辆信息表的xlsx文件file文件夹:保存图片