麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Python > 正文

使用 Python 合并多個格式一致的 Excel 文件(推薦)

2024-09-09 19:03:09
字體:
來源:轉載
供稿:網友

一 問題描述

最近朋友在工作中遇到這樣一個問題,她每天都要處理如下一批 Excel 表格:每個表格的都只有一個 sheet,表格的前兩行為表格標題及表頭,表格的最后一行是相關人員簽字。最終目標是將每個表格的內容合并到一個 Excel 表格中,使之成為一張表格。在她未咨詢我之前,每天復制粘貼這一類操作占用了她絕大部分時間。表格樣式如下:

二 需求分析

根據她的描述,最終需求應該是這樣的:在這一批表格中選取任意一個表格的前兩行作為新表格的標題與表頭,將這兩行內容以嵌套列表的形式插入一個名為 data 空列表中。取每張表格的第3至倒數第二行,剔除空白行的內容。并將所有表格的內容以子列表的方式依次插入 data 列表中。任取一表格的最后一行以子列表的方式插入 data 列表中。最后將 data 列表的內容寫入一個新的 Excel 表格中。

三 查閱資料

通過幾分鐘的上網查詢,得出以下結論:

3.1 通過 xlrd 和 xlsxwriter 模塊即可解決次需求;

3.2 之所以使用 xlrd 和 xlsxwriter 是因為: xlrd擅長讀取 Excel 文件,不適合寫入,用 xlsxwriter 來進行大規模寫入 Excel 表格不會出現報錯。

四 編碼

一切以解決當前問題為向導,說干就干。 coding … …

# -*- coding:utf-8 -*-import os, xlrd, xlsxwritersource_dir = r'input'new_execl = "All in one.xlsx"raw_excels = os.listdir(source_dir)keyword = "油站經理" # 除包括此關鍵字的行均插入data = []filename = os.path.join(source_dir, raw_excels[0])wb = xlrd.open_workbook(filename)sheet = wb.sheets()[0]data.append(sheet.row_values(0))data.append(sheet.row_values(1))for excel in raw_excels: filename = os.path.join(source_dir, excel) wb = xlrd.open_workbook(filename) sheet = wb.sheets()[0] for row_num in range(2, sheet.nrows):  row_values = [str(i) for i in sheet.row_values(row_num)]  if len(''.join(row_values)) and (keyword not in ''.join(row_values)):   data.append(sheet.row_values(row_num))data.append(sheet.row_values(sheet.nrows-1))new_wb = xlsxwriter.Workbook(new_execl)worksheet = new_wb.add_worksheet()font = new_wb.add_format({"font_size":11})for i in range(len(data)): for j in range(len(data[i])):  worksheet.write(i, j, data[i][j], font)new_wb.close()

半小時后,大功告成!

五 使用說明

5.1 下載安裝 Python3.X(具體安裝步驟自己查一下);

5.2 安裝 xlrd 和 xlsxwriter 模塊,參考命令: pip install xlrd xlsxwriter。開始此步驟之前可能需要先升級pip,具體升級命令系統會提示,復制粘貼即可;

5.3 新建一個名為 input 的文件夾,將需要合并的文件復制到這個文件夾下;

5.4 把以上代碼復制以 excels_merge.py 的文件名保存在與 input 文件夾同級別的文件夾中,雙擊鼠標稍后即可。如果沒有關聯打開方式,那么就在資源管理器的地址欄輸入“cmd”,在打開的命令窗口輸入:python excels_merge.py。生成的 All in one.xlsx 即為合并后的新 Excel 文件。

六 總結

6.1 [str(i) for i in sheet.row_values(row_num)]這一部分代碼實現了將列表內的元素統一轉化為字符串,主要是為了下一行代碼實現將列表轉換為字符串;

6.3 此的腳本不對源 Excel 文件進行任何操作,可是放心使用;

6.4 以上腳本就是隨手一寫,都沒有優化,以后如果數據量太大估計會考慮優化,希望大家多提意見或建議;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美一级高潮片免费的 | 欧美极品免费 | 久久久经典视频 | 精品亚洲综合 | 99r国产精品| 护士hd欧美free性xxxx | 久久精品视频一区 | h视频免费在线观看 | 一级黄色在线免费观看 | 国产午夜精品一区二区三区四区 | 欧美性生活视频免费看 | 特级毛片免费 | 国产一级大片在线观看 | 欧美女优一区 | 99国产精品自拍 | 国产一级毛片网站 | 亚洲一级毛片 | 欧美黄一区 | 久久草草亚洲蜜桃臀 | 国产精品久久久久久久久久久久午夜 | 31freehdxxxx欧美 | 男人天堂新地址 | 国产精品视频久久久 | 久久亚洲第一 | 欧美成人精品一区 | 九色在线78m | 精品国产一区二区三区四区在线 | 一区二区三视频 | 一区二区免费 | 国产1区2区3区中文字幕 | 亚洲一区二区三区日本久久九 | 日本精品二区 | 久久国产在线观看 | 久久精品毛片 | 日韩黄色免费观看 | 激情综合婷婷久久 | 毛片在哪里看 | 密室逃脱第一季免费观看完整在线 | 黄色大片网站在线观看 | 国产xxxx岁13xxxxhd | 中国av免费观看 |