分享

python实现同一目录文件下所有Excel数据文件的合并

 只怕想不到 2019-08-29

在实际应用中可能会有不同月份的数据或者不同周的报告等等的Excel数据,都是单个独立的文件,如果想要整体使用的话就需要合并一下了,这里提供这样的一个功能,可以把指定目录下的所有Excel数据合并成一个文件。

下面是具体的实践:

#!usr/bin/env python

#encoding:utf-8

'''

__Author__:沂水寒城

功能:合并同一文件目录下的所有Excel文件

'''

import os

import re

import sys

import xlrd

import xlwt

reload(sys)

sys.setdefaultencoding('utf-8')

def readOneExcelData(datapath='testdata.xls'):

'''

读取单个 Excel 中的数据

获取整行和整列的值(返回数组)

table.row_values(i)

table.col_values(i)

'''

workbook=xlrd.open_workbook(datapath,'rb')

table=workbook.sheets()[0]

row_num,col_num=table.nrows,table.ncols

data_list=[]

for i in range(1,row_num):

data_list.append(table.row_values(i))

return data_list

def write2Excel(data_list,savepath='merge_data.xls'):

'''

写到 Excel 中

'''

i=0

workbook=xlwt.Workbook(encoding='utf-8')

table=workbook.add_sheet('sheet')

for one_list in data_list:

for j in range(one_list):

table.write(i,j,content[j])

i+=1

workbook.save(savepath)

def mergeOneDir(filepath='heze/mudanqu/',savepath='merge_data.xls'):

'''

合并一个文件夹下面的所有 Excel 数据

'''

data_list=[]

file_list=os.listdir(filepath)

for one_excel in file_list:

one_file=filepath+one_excel

one_data_list=readOneExcelData(datapath=one_file)

if not data_list:

data_list=one_data_list

else:

data_list+=one_data_list[1:]

write2Excel(data_list,savepath)

if __name__ == '__main__':

print 'Input Merge Dir:'

one_dir=raw_input()

print 'Input save Path:'

one_path=raw_input()

one_path=one_dir+one_path

mergeOneDir(one_dir,one_path)

著作权归作者所有

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多