Python将多个excel表格合并为一个表格

Python 同时被 3 个专栏收录
169 篇文章 0 订阅
114 篇文章 0 订阅
52 篇文章 1 订阅

爬虫过程经常遇到结果分段跑,导致所有的结果分散存在多个Excel表中,现在需要将其合并起来,使用python该怎么做呢?

# 下面这些变量需要您根据自己的具体情况选择
biaotou = ['id', 'test']
# 在哪里搜索多个表格
filelocation = "D:\\test\\"
# 当前文件夹下搜索的文件名后缀
fileform = "xlsx"
# 将合并后的表格存放到的位置
filedestination = "D:\\test\\"
# 合并后的表格命名为file
file = "test"

# 首先查找默认文件夹下有多少文档需要整合
import glob
from numpy import *

filearray = []
for filename in glob.glob(filelocation + "*." + fileform):
    filearray.append(filename)
# 以上是从pythonscripts文件夹下读取所有excel表格,并将所有的名字存储到列表filearray
print("在默认文件夹下有%d个文档哦" % len(filearray))
ge = len(filearray)
matrix = [None] * ge
# 实现读写数据

# 下面是将所有文件读数据到三维列表cell[][][]中(不包含表头)
import xlrd

for i in range(ge):
    fname = filearray[i]
    bk = xlrd.open_workbook(fname)
    try:
        sh = bk.sheet_by_name("Sheet1")
    except:
        print("在文件%s中没有找到sheet1,读取文件数据失败,要不你换换表格的名字?" % fname)
    nrows = sh.nrows
    matrix[i] = [0] * (nrows - 1)

    ncols = sh.ncols
    for m in range(nrows - 1):
        matrix[i][m] = ["0"] * ncols

    for j in range(1, nrows):
        for k in range(0, ncols):
            matrix[i][j - 1][k] = sh.cell(j, k).value
        # 下面是写数据到新的表格test.xls中哦
import xlwt

filename = xlwt.Workbook()
sheet = filename.add_sheet("hel")
# 下面是把表头写上
for i in range(0, len(biaotou)):
    sheet.write(0, i, biaotou[i])
# 求和前面的文件一共写了多少行
zh = 1
for i in range(ge):
    for j in range(len(matrix[i])):
        for k in range(len(matrix[i][j])):
            sheet.write(zh, k, matrix[i][j][k])
        zh = zh + 1
print("我已经将%d个文件合并成1个文件,并命名为%s.xls.快打开看看正确不?" % (ge, file))
filename.save(filedestination + file + ".xls")

以上代码完美的实现了多个表的合并,最好不要把文件放在C盘,会有访问权限问题。学会python,学会自动化完美代替手工ctrl_+C ,ctrl+V.

  • 4
    点赞
  • 0
    评论
  • 11
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值