使用Python的实现Excel表格数据汇总

编程知识 行业动态 更新时间:2024-06-13 00:20:50
#导入模块xlrd:数据读取,xlwt:数据写入
import xlrd,xlwt 
#导入系统模块,为了进行文件路径查找
import os 

#目标文件与路径
targetPath=os.path.join(os.getcwd(),'05.表格合并/输出.xls')
# 目标文件的写入索引,目标文件从第几行开始写入数据
targetRowNum=5

#要合并文件路径 
allPath=os.path.join(os.getcwd(),'05.表格合并/原始')

#获取文件夹下所有EXCEL名 
xlsx_names = [x for x in os.listdir(allPath) if x.endswith(".xls")] 

#设置每个文件下共有几个活动Sheet表
workSheet=1

#往目标文件中写入数据
target_file=xlwt.Workbook(encoding='utf-8')
#目标文件创建新的Sheet,这里需要说明,试用方法只能创建新的sheet,不能用原有的sheet表通过读取sheet名称进行写入
target_sheet = target_file.add_sheet('合并')


#循环读取每个文件
for single_file in xlsx_names:
	#通过操作系统文件目录的合并,查找到需要读取文件的路径+名称
    filePath =os.path.join(allPath,single_file)

    #打开文件夹下
    first_file_fh=xlrd.open_workbook(filePath)
    #循环遍历每个活动的工作Sheet表格
    for tableSheet in range(workSheet):
        first_table = first_file_fh.sheets()[tableSheet]
        #获取表格的最大行数
        first_table_maxrow=first_table.nrows
        # 从第几行开始进行读取数据
        for rowNum in range(4,first_table_maxrow):   
        	#读取数据最终结果是一个数组,可以对数组进行处理
            rowContent = first_table.row_values(rowNum)
            #这个根据数据格式的不同,测试数据最后有合并行,这些数据不做处理,所以做了判断
            if rowContent[3]=='' and rowContent[4]=='':
                break
            #根据数组的索引和值,将数据进行春促
            for (info_index,info_value) in enumerate(rowContent):
            	#每条数组存储一行,write(行,列,值)
                target_sheet.write(targetRowNum,info_index,info_value)                
            # 让目标文件行数添加  
            targetRowNum+=1
    #每次执行完一个文件释放资源
    first_file_fh.release_resources()
    #删除每次执行完后的文件对象
    del first_file_fh

#最终将合并文件进行保存
target_file.save(targetPath)



更多推荐

使用Python的实现Excel表格数据汇总

本文发布于:2023-03-30 16:46:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/a7089842decb1b9e5299f076ea670f4f.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:表格   数据   Python   Excel

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!