python excel合并_Python把多个Excel合并成一个Excel
#! /usr/bin/python3
# -*- coding: utf-8 -*-
# @Time : 2018/8/31 16:31
# @File : more_to_one
# @Software: PyCharm
import os
import datetime
import xlrd
import xlsxwriter
TARPATH = 'D:/ex2'
#獲取文件名
filename = []
#寫入文件存儲
records = []
#寫入的目標文件:
tar_file = TARPATH +'tar_2017.xlsx'
# print(tar_file)
#獲取目錄下的所有文件名
def get_filename(tar_path):
for currentDir, _, includedFiles in os.walk(tar_path):
if currentDir.endswith('ex2'):
for i in includedFiles:
if i.endswith('xls') or i.endswith('xlsx'):
# print(i)
filename.append(tar_path + '/' + i)
else:
continue
return filename
#獲取excel文件的內(nèi)容數(shù)據(jù)
def concat_and_insert(fdir,sheet_name = 'Sheet1',n = 2):
if len(fdir)>0:
for ai in fdir:
# 讀文件
data = xlrd.open_workbook(ai)
#第一個sheet頁的名稱;
first_sheet = data.sheet_by_index(0).name
print(ai,'>'*10,first_sheet)
# 獲取sheet頁的名稱
sheet = data.sheet_by_name(sheet_name)
#獲取表的行數(shù):
nrows = sheet.nrows
for i in range(nrows):
# 跳過第一行
if i < 2:
continue
# print(sheet.row_values(i))
records.append(sheet.row_values(i))
return records
def insert_file(alist,tarfile):
# 新建目標文件
wh = xlsxwriter.Workbook(tarfile)
wadd = wh.add_worksheet('total')
if len(alist)>0:
for row_num, row_data in enumerate(alist):
wadd.write_row(row_num + 1, 0, row_data)
wh.close()
if __name__ == '__main__':
strat = datetime.datetime.now()
print(strat)
# time.sleep(2)
get_filename(TARPATH)
# print(filename)
concat_and_insert(filename)
# print(records)
#寫入文件
insert_file(records,tar_file)
end = datetime.datetime.now()
print(end)
print("持續(xù)時間{}".format(end-strat))
print('ok')
總結
以上是生活随笔為你收集整理的python excel合并_Python把多个Excel合并成一个Excel的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 正则满足中文的顿号_常用的正则表达式、正
- 下一篇: c++ 暂停功能_10月10日丨注意:东