一个excel表格拆分成多个excel文件,Excel拆分多个表格
工作中有时需要将一个大表(多行)拆分成多个表。虽然不太符合常理,如果一个表太大,在导出数据的时候就应该进行拆解,但实际上还是会因为各种原因遇到。
Python脚本,相对简单易懂,是一个筛选导出的过程。
将熊猫作为pdfrom熊猫导入DataFrame,Iesdata=pd.read _ excel(要拆分的原始数据. xlsx )long=data . count()[0]e=int(input(拆分后每个excel表有多少行)#data[ field ]=data[ field ]。astype(str) #excel如果有超过18位的数字需要加上一句话N=int(long/e)1 for I in range(N):X=data[I * e:(I 1)* e]#最后一行不能分也没关系,x.to_excel(str(i 1) data.xlsx ,index=false) #
文笔又臭又长,也没想好怎么写。方法是先把要拆分的表做多个副本,然后单独打开表,删除多余的行。注意第一个比较特殊。将要拆分的表与写有代码的工作表放在同一个文件夹中。
split Sub full()t1=timerworkbooks . open(thxlsx workbook . path /original . xlsx )不一定r=1 头,1比较合理,即使一页也能调整到1 b=40000 ,拆分后每个表的行数A=activeworkbook.worksheets (1)。used range . rows . count active workbook . close=int(a/b)1 l表示需要将其拆分为多个文件,I=1才能生成this workbook . path /original . xlsx ,thisworkbook.path/I 文件副本。xlsx next I application . screen updating=false ,True屏幕将闪烁,在此段落中,复制fn=thisworkbook.path/1 。xlsx workbooks.open (fn)带有活动workbook.worksheets (1)行(Rb1): 1048576 。选择选择。删除班次:=XLUPENWithActiveWorkbook。关闭保存修改:=true 1比较特殊,1只需要删除后面,不需要删除前面,所以这里有点重复I=2到l fn=thisworkbook.path/i 。xlsx workbooks.open (fn)带有活动workbook.workshops)行(r 1): r(I-1)* b)。选择选择。删除Shift:=xlUp行(r b 1): 1048576。选择选择。使用活动工作簿删除SHIFT:=XLUPEND。关闭保存更改:=TRUE下一个应用程序。屏幕更新=TRUE T2=TIMERMSGBOX 程序运行时间: t2-t1 秒!末端接头