美文网首页
python爬虫学习(一):Excel操作

python爬虫学习(一):Excel操作

作者: 忘了呼吸的那只猫 | 来源:发表于2019-01-25 11:01 被阅读0次

    爬虫经常会用到Excel,就去看了一些关于Excel操作的一些库,以下是一些小心,仅供参考学习:

    python操作Excel常用的两个库:1.xlrd 2.xlsxwriter

    这两个库的使用前面有详细介绍:
    python-xlrd常用方法
    python- xlsxwriter模块使用(拓展:Excel插入图表)

    这里试一下Excel文件的合并操作:(就是结合上面两个库的操作)

    # -*- coding: utf-8 -*-
     
    #将多个Excel文件合并成一个
    import xlrd
    import xlsxwriter
     
    #打开一个excel文件
    def open_xls(file):
     fh=xlrd.open_workbook(file)
     return fh
     
    #获取excel中所有的sheet表
    def getsheet(fh):
     return fh.sheets()
     
    #获取sheet表的行数
    def getnrows(fh,sheet):
     table=fh.sheets()[sheet]
     return table.nrows
     
    #读取文件内容并返回行内容
    def getFilect(file,shnum):
     fh=open_xls(file)
     table=fh.sheets()[shnum]
     num=table.nrows
     for row in range(num):
      rdata=table.row_values(row)
      datavalue.append(rdata)
     return datavalue
     
    #获取sheet表的个数
    def getshnum(fh):
     x=0
     sh=getsheet(fh)
     for sheet in sh:
      x+=1
     return x
     
     
    if __name__=='__main__':
     #定义要合并的excel文件列表
     allxls=['F:/test/excel1.xlsx','F:/test/excel2.xlsx']
     #存储所有读取的结果
     datavalue=[]
     for fl in allxls:
      fh=open_xls(fl)
      x=getshnum(fh)
      for shnum in range(x):
       print("正在读取文件:"+str(fl)+"的第"+str(shnum)+"个sheet表的内容...")
       rvalue=getFilect(fl,shnum)
     #定义最终合并后生成的新文件
     endfile='F:/test/excel3.xlsx'
     wb1=xlsxwriter.Workbook(endfile)
     #创建一个sheet工作对象
     ws=wb1.add_worksheet()
     for a in range(len(rvalue)):
      for b in range(len(rvalue[a])):
       c=rvalue[a][b]
       ws.write(a,b,c)
     wb1.close()
     print("文件合并完成")
    

    相关文章

      网友评论

          本文标题:python爬虫学习(一):Excel操作

          本文链接:https://www.haomeiwen.com/subject/xxkmjqtx.html