python合并excel多个sheet,怎么将多个sheet表整合成一张

  python合并excel多个sheet,怎么将多个sheet表整合成一张

  说明

  1.xlwt模块是非追加的。xls模块,所以需要一次性写for循环和list,所以不存在追加和不追加之说。

  2.合并Excel表格,将每个Excel表格作为一行,即行合并。另一个思路是,可以把Excel表格中的标签作为列来合并列,也就是可以把不同文件中相同标签组成的不同标签合并。可以先将不同文件中相同的标签合并成一个列表,再将之前的标签合并,得到所有Excel文件的内容。

  实例

  #导入xlrd和xlwt模块

  #xlrd模块是用于读取的模块。xls Excel文件,而xlwt模块是一个用于编写的模块。xls Excel文件以非追加的方式。

  进口xlrd,xlwt

  #导入要读取的文件的路径

  a=[ c :/用户/桌面/m1.xls , c :/用户/桌面/m2.xls]

  #定义要写入的文件的路径

  b= c :/用户/桌面/m3.xls

  #定义一个函数来确定打开文件时是否会发生异常。

  defopen(文件地址):

  尝试:

  #通过xlrd模块的open_workbook()方法打开一个Excel文件,将变量fo定义为文件句柄。

  fo=xlrd . open _ workbook(file address)

  returnfo

  异常异常:

  打印(错误!str(e))

  #定义函数获取Excel文件下某个标签的行数

  defgetrows(fo,num):

  table=fo.sheets()[num]

  #sheets()函数自带xlrd模块,可以列表的形式返回这个Excel文件的标签。

  n=table.nrows

  #nrows是xlrd模块的函数,调用它可以得到一个标签的行数。

  returnn

  定义函数,可以通过Excel文件的路径和标签的序号获得。

  任何Excel文件中任何标签的内容都作为列表返回。

  defgetsheetcontents(文件地址,编号):

  avalue=[]

  fo=open(文件地址)

  table=fo.sheets()[num]

  n=table.nrows

  foriinrange(0,n):

  Row_values()函数是xlrd模块的函数,由某个标签调用。

  可以获取标签的行数据,这些行数据以列表的形式返回。在标签中

  作为列表列出的元素

  rdate=table.row_values(i)

  avalue.append(rdate)

  返回值

  svalue=[]

  k=[]

  #通过for循环获取所有Excel文件的标签号,并以列表形式返回。

  foriina:

  fo=打开(I)

  k.append(len(fo.sheets()))

  #按升序排列这些标签。

  排序()

  #通过for循环将这些Excel文件中不同标签的所有内容放入list svalue中

  foriinrange(0,k[len(k)-1]):

  #通过for循环将不同Excel文件的相同标签放入list bvalue中

  bvalue=[]

  forjina:

  Print(读取 str(j)的第 str(i 个标签)

  b value . append(get sheet contents(j,I))

  值.追加(值)

  #svalue包含所有Excel文件的内容。

  #创建一个。xls文件,并定义一个变量fw作为文件句柄。

  fw=xlwt。工作簿()

  线=0

  xlwt模块附带了#add_sheet()函数,您可以获得一个自定义标签。

  #将变量ws定义为标签句柄

  ws=fw.add_sheet(sheet1 )

  通过for循环遍历svalue列表,并将最终的

  将某一标签、某一文件、某一行、某一列的数据写入新标签。

  foriinrange(0,len(svalue)):

  forjinrange(0,len(svalue[i])):

  forminrange(0,len(svalue[i][j])):

  forninrange(0,len(svalue[i][j][m])):

  ws.write(line,n,svalue[i][j][m][n])

  #您可以通过line获得越来越多的行。

  线=1

  打印(“合并完成”)

  #save()函数是xlwt自带的函数,将合并后的Excel文件保存到某个路径。

  固件保存(b)

  #xlrd模块和xlwt模块中没有close()函数,即使用这两个模块打开文件而不关闭文件。以上是Python集成多个表的方法。希望对你有帮助。更多python学习方向:Python基础课程

  本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: