EXCEL处理------合并多个excel内多个sheet
生活随笔
收集整理的這篇文章主要介紹了
EXCEL处理------合并多个excel内多个sheet
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
留作備用
結合別人的方法,直接可以使用
工作需要,合并多個excel內的多個sheet,并增加新的列
# coding = UTF-8 import osimport xlwt from xlrd import open_workbook, xldate_as_datetimedef getdatafromtable(file_name):table = open_workbook(file_name) get_sheets = table.sheet_names() # 得到excel的全部sheet頁的名稱infos = []for i in get_sheets:get_each_sheet = table.sheet_by_name(i) # 每個sheet名稱count_rows = get_each_sheet.nrows # 當前sheet總行數for j in range(count_rows):# 返回該行數據列表col_values = get_each_sheet.row_values(j, start_colx=0, end_colx=None)# 我自己額外加的處理,不需要直接注釋# try:# if "2021" in col_values[0]:# col_values[0] = col_values[0].replace(".", "/")# except:# pass# try:# 時間格式處理,讀取excel后變為 數字.0 的處理# col_values[0] = xldate_as_datetime(col_values[0], 0).strftime('20%y/%m/%d')# except:# pass# # 插入新列,增加信息# col_values.insert(0, get_each_sheet.name)# col_values.insert(0, file_name.replace("需要替換的信息", ""))# 多個表格的信息合并到一個listinfos.append(col_values)return infos# 寫入新文件 def data_write(file_path, datas):f = xlwt.Workbook()sheet1 = f.add_sheet(u'匯總', cell_overwrite_ok=True) # 創建sheeti = 0for data in datas:for j in range(len(data)):sheet1.write(i, j, data[j])i = i + 1f.save(file_path) # 保存文件# 遍歷文件夾內的所有文件 for root, dirs, files in os.walk("文件夾路徑"):data = []for file in files:infos = getdatafromtable(root + file)for info in infos:data.append(info)data_write("匯總.xlsx", data)總結
以上是生活随笔為你收集整理的EXCEL处理------合并多个excel内多个sheet的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Lingoes 一款功能强大、简明易用的
- 下一篇: HTML中的img标签无法显示图片的解决