校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 如何用python合并多個excel文件

如何用python合并多個excel文件

熱門標簽:crm電銷機器人 電銷機器人 金倫通信 南京crm外呼系統排名 北京外呼電銷機器人招商 汕頭電商外呼系統供應商 賓館能在百度地圖標注嗎 400電話 申請 條件 云南地圖標注 鄭州智能外呼系統中心

安裝模塊

1、找到對應的模塊  http://www.python-excel.org/

2、用 pip install 安裝

pip3 install xlrd
pip3 install XlsxWriter

因為使用的是 python3,所以安裝的時候采用 pip3。

XlsxWriter 示例

先看看簡單的演示:

import xlsxwriter

# 創建一個工作簿并添加一個工作表
workbook = xlsxwriter.Workbook("c.xlsx")
worksheet = workbook.add_worksheet()

# 設置列寬
worksheet.set_column("A:A", 20)

# 設置格式
bold = workbook.add_format({"bold": True})

# 設置單元格的值
worksheet.write("A1", "Hello")

# 帶格式的單元格
worksheet.write("A2", "World")

# 寫一些數字,用行列標識
worksheet.write(2, 0, 123)
worksheet.write(3, 0, 123.456, bold)

# 插入一張圖片
worksheet.insert_image("B5", "s.png")

# 關閉文件流
workbook.close()

運行結果如下:

合并Excel數據

對于合并 excel,有兩種 case ,一種是表頭都是一樣的,一種是表頭不一樣的excel ,但是希望放到同一個表格里面,方便查看

表頭都一樣的 excel

這個處理很簡單,具體代碼如下:

import xlrd
import xlsxwriter

source_xls = ["a.xlsx", "b.xlsx"]
target_xls = "3.xlsx"

# 讀取數據
data = []
for i in c:
 wb = xlrd.open_workbook(i)
 for sheet in wb.sheets():
  for rownum in range(sheet.nrows):
   data.append(sheet.row_values(rownum))
print(data)
# 寫入數據
workbook = xlsxwriter.Workbook(target_xls)
worksheet = workbook.add_worksheet()
font = workbook.add_format({"font_size": 14})
for i in range(len(data)):
 for j in range(len(data[i])):
  worksheet.write(i, j, data[i][j], font)
# 關閉文件流
workbook.close()

Excel 是由行和列組成的,所以這里將所有文件中的所有 sheet 中的數據讀取出來組成一個二維數組,然后再寫入新的 Excel。

表頭都不一樣的 excel

對于表頭不一樣的 excel,可能需要手動選取表格的一部分,然后進行合并。具體代碼如下:

import xlrd
import xlsxwriter

source_xls = ["a.xlsx", "b.xlsx"]
target_xls = "合并.xlsx"

# 讀取數據
data = []
# 重復數據
dupdata = []
# 姓名列表,按照姓名去重
name = []
# 獲取excel的個數
sheetcount = len(source_xls)
i = 0
while i  len(source_xls):
 wb = xlrd.open_workbook(source_xls[i])
 # 存儲不同excel 的數據
 data.append([])
 # 一個excel 可能存在多張表格
 for sheet in wb.sheets():
  if i == 0:
   # 先把表頭添加進去
   dupdata.append(sheet.row_values(0))
  for rownum in range(sheet.nrows):
   # 判斷名字是否重復,表頭都是姓名開頭的,所以把姓名除去
   if (sheet.row_values(rownum)[0] in name):
    dupdata.append(sheet.row_values(rownum))
    # 給數據添加另一個表的表頭
    if (sheet.row_values(rownum)[0] == '姓名'):
     data[i].append(sheet.row_values(rownum))
   else:
    name.append(sheet.row_values(rownum)[0])
    data[i].append(sheet.row_values(rownum))
 i+=1

# 合并數據
workbook = xlsxwriter.Workbook(target_xls)
worksheet = workbook.add_worksheet()
font = workbook.add_format({"font_size": 14})
lineNum = 0
for num in range(len(data)):
 # 區分來自不同excel 的數據
 if num== 0 :
  for i in range(len(data[num])):
   # 姓名
   worksheet.write(lineNum, 0, data[num][i][0], font)
   # 檢查編號
   worksheet.write(lineNum, 1, data[num][i][1], font)
   # 年齡
   worksheet.write(lineNum, 2, data[num][i][23], font)
   # 藍標
   worksheet.write(lineNum, 3, data[num][i][14], font)
   # 黃標
   worksheet.write(lineNum, 4, data[num][i][19], font)
   worksheet.write(lineNum, 5, data[num][i][20], font)
   worksheet.write(lineNum, 6, data[num][i][21], font)
   # 大小
   worksheet.write(lineNum, 7, data[num][i][24], font)
   worksheet.write(lineNum, 8, data[num][i][25], font)
   worksheet.write(lineNum, 9, data[num][i][26], font)
  
   lineNum += 1
 # 只有兩個excel ,所以直接用了 else 
 else:
  for i in range(len(data[num])):
   lineNum += 1
   # 姓名
   worksheet.write(lineNum, 0, data[num][i][0], font)
   # 檢查編號
   worksheet.write(lineNum, 1, data[num][i][1], font)
   # 年齡
   worksheet.write(lineNum, 2, data[num][i][2], font)
   # 藍標
   worksheet.write(lineNum, 3, data[num][i][30], font)
# 關閉文件流
workbook.close()

# 針對重復數據,連表頭一起輸出,方便后續回顧查看
workbook = xlsxwriter.Workbook("重復.xlsx")
worksheet = workbook.add_worksheet()
font = workbook.add_format({"font_size": 14})
for i in range(len(dupdata)):
 for j in range(len(dupdata[i])):
  worksheet.write(i, j, dupdata[i][j], font)
# 關閉文件流
workbook.close()

Excel 是由行和列組成的,所以這里將所有文件中的所有 sheet 中的數據讀取出來組成一個二維數組,然后再寫入新的 Excel。

表頭都不一樣的 excel

對于表頭不一樣的 excel,可能需要手動選取表格的一部分,然后進行合并。具體代碼如下:

import xlrd
import xlsxwriter

source_xls = ["a.xlsx", "b.xlsx"]
target_xls = "合并.xlsx"

# 讀取數據
data = []
# 重復數據
dupdata = []
# 姓名列表,按照姓名去重
name = []
# 獲取excel的個數
sheetcount = len(source_xls)
i = 0
while i  len(source_xls):
 wb = xlrd.open_workbook(source_xls[i])
 # 存儲不同excel 的數據
 data.append([])
 # 一個excel 可能存在多張表格
 for sheet in wb.sheets():
  if i == 0:
   # 先把表頭添加進去
   dupdata.append(sheet.row_values(0))
  for rownum in range(sheet.nrows):
   # 判斷名字是否重復,表頭都是姓名開頭的,所以把姓名除去
   if (sheet.row_values(rownum)[0] in name):
    dupdata.append(sheet.row_values(rownum))
    # 給數據添加另一個表的表頭
    if (sheet.row_values(rownum)[0] == '姓名'):
     data[i].append(sheet.row_values(rownum))
   else:
    name.append(sheet.row_values(rownum)[0])
    data[i].append(sheet.row_values(rownum))
 i+=1

# 合并數據
workbook = xlsxwriter.Workbook(target_xls)
worksheet = workbook.add_worksheet()
font = workbook.add_format({"font_size": 14})
lineNum = 0
for num in range(len(data)):
 # 區分來自不同excel 的數據
 if num== 0 :
  for i in range(len(data[num])):
   # 姓名
   worksheet.write(lineNum, 0, data[num][i][0], font)
   # 檢查編號
   worksheet.write(lineNum, 1, data[num][i][1], font)
   # 年齡
   worksheet.write(lineNum, 2, data[num][i][23], font)
   # 藍標
   worksheet.write(lineNum, 3, data[num][i][14], font)
   # 黃標
   worksheet.write(lineNum, 4, data[num][i][19], font)
   worksheet.write(lineNum, 5, data[num][i][20], font)
   worksheet.write(lineNum, 6, data[num][i][21], font)
   # 大小
   worksheet.write(lineNum, 7, data[num][i][24], font)
   worksheet.write(lineNum, 8, data[num][i][25], font)
   worksheet.write(lineNum, 9, data[num][i][26], font)
  
   lineNum += 1
 # 只有兩個excel ,所以直接用了 else 
 else:
  for i in range(len(data[num])):
   lineNum += 1
   # 姓名
   worksheet.write(lineNum, 0, data[num][i][0], font)
   # 檢查編號
   worksheet.write(lineNum, 1, data[num][i][1], font)
   # 年齡
   worksheet.write(lineNum, 2, data[num][i][2], font)
   # 藍標
   worksheet.write(lineNum, 3, data[num][i][30], font)
# 關閉文件流
workbook.close()

# 針對重復數據,連表頭一起輸出,方便后續回顧查看
workbook = xlsxwriter.Workbook("重復.xlsx")
worksheet = workbook.add_worksheet()
font = workbook.add_format({"font_size": 14})
for i in range(len(dupdata)):
 for j in range(len(dupdata[i])):
  worksheet.write(i, j, dupdata[i][j], font)
# 關閉文件流
workbook.close()

合并后的結果

重復列表結果如下:

以上就是如何用python合并多個excel文件的詳細內容,更多關于python 合并excel文件的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • python合并多個excel文件的示例
  • 使用python將多個excel文件合并到同一個文件的方法
  • 使用Python橫向合并excel文件的實例
  • Python批量合并有合并單元格的Excel文件詳解
  • Python將多個excel文件合并為一個文件
  • 使用Python快速打開一個百萬行級別的超大Excel文件的方法
  • 淺談Python xlwings 讀取Excel文件的正確姿勢
  • Python3利用openpyxl讀寫Excel文件的方法實例
  • 基于Python的接口自動化讀寫excel文件的方法
  • python基于openpyxl生成excel文件
  • Python xlrd/xlwt 創建excel文件及常用操作
  • 教你用Python代碼實現合并excel文件

標簽:石家莊 昆明 錫林郭勒盟 西寧 懷化 浙江 文山 梅州

巨人網絡通訊聲明:本文標題《如何用python合并多個excel文件》,本文關鍵詞  如,何用,python,合并,多個,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《如何用python合并多個excel文件》相關的同類信息!
  • 本頁收集關于如何用python合并多個excel文件的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    蜜桃91丨九色丨蝌蚪91桃色| 国产精品美女久久久久久久| 亚洲午夜精品久久久久久久久| 成人性色生活片免费看爆迷你毛片| 91精品欧美一区二区三区综合在| 亚洲欧美色一区| 成人爱爱电影网址| 一色屋精品亚洲香蕉网站| 亚洲国产精品一区二区尤物区| 一本久道中文字幕精品亚洲嫩| 中文欧美字幕免费| 麻豆91在线播放免费| 精品国产百合女同互慰| 国产一区二区在线影院| 欧美一区二区三区播放老司机| 亚洲美女屁股眼交| 7777精品久久久大香线蕉| 久久国内精品视频| 中文字幕在线不卡视频| 成人国产电影网| 亚洲免费观看在线视频| 欧美亚洲国产bt| 亚洲综合丝袜美腿| 日韩精品一区二区三区蜜臀| 成人精品国产一区二区4080 | 日韩女优制服丝袜电影| 国产一区美女在线| 亚洲视频精选在线| 一本高清dvd不卡在线观看| 美女视频黄a大片欧美| 国产精品久久久久一区二区三区共| 91麻豆国产在线观看| 亚洲第一成人在线| 欧美成人aa大片| 在线不卡的av| 99精品视频在线免费观看| 精品亚洲成av人在线观看| 天堂av在线一区| 日韩电影在线一区二区三区| 国产精品午夜免费| 久久中文娱乐网| 麻豆国产欧美日韩综合精品二区| 狠狠色狠狠色综合日日91app| 欧美人与z0zoxxxx视频| 欧美视频在线观看一区| 久久精品国产99| 国产欧美精品区一区二区三区| 精品国产一区二区三区不卡| 久久久另类综合| 亚洲天堂久久久久久久| 亚洲综合在线第一页| 成人欧美一区二区三区1314| 国产精品久久久久影院色老大| 欧美大胆人体bbbb| 中文字幕欧美区| 欧美成人精品二区三区99精品| 免费一区二区视频| 日韩精品成人一区二区在线| 亚洲欧洲制服丝袜| 国产精品视频一二| 国产精品国产三级国产专播品爱网 | 男人的天堂亚洲一区| 青青草成人在线观看| 精品一区二区在线观看| 高清av一区二区| 国产一区二区三区在线看麻豆| 国产又黄又大久久| 日韩精品乱码免费| 午夜成人免费视频| 精品一区二区三区在线观看| 成人精品免费视频| 欧美亚洲国产一区二区三区va| 欧美三级欧美一级| 精品美女在线观看| 亚洲伦理在线精品| 天天综合网天天综合色| 国产在线视频精品一区| 日韩精品欧美精品| 国产v综合v亚洲欧| 在线不卡中文字幕| 国产精品伦一区二区三级视频| 亚洲高清视频中文字幕| 激情综合网最新| 91国模大尺度私拍在线视频| 97国产精品videossex| 制服丝袜亚洲播放| 国产精品国产三级国产| 久久精品二区亚洲w码| 色老汉一区二区三区| 国产欧美视频一区二区三区| 久草热8精品视频在线观看| 欧美精品黑人性xxxx| 亚洲福利一二三区| 国产精品18久久久久| 欧美色精品天天在线观看视频| 26uuu国产电影一区二区| 亚洲国产综合人成综合网站| 91一区一区三区| 国产欧美日韩在线视频| 激情另类小说区图片区视频区| 日韩亚洲欧美高清| 中文字幕在线一区免费| 久久精品国产色蜜蜜麻豆| 91亚洲国产成人精品一区二区三| 久久久精品国产免大香伊| 久久66热re国产| 日韩三区在线观看| 美女尤物国产一区| 欧美v国产在线一区二区三区| 麻豆国产精品官网| 在线观看日韩高清av| 亚洲一区二区三区四区在线观看| 日韩欧美高清dvd碟片| 日韩视频国产视频| 久久精品国产77777蜜臀| 91超碰这里只有精品国产| 亚洲综合久久av| 色丁香久综合在线久综合在线观看| 中文无字幕一区二区三区| 成a人片国产精品| 一区二区三区在线看| 91福利资源站| 亚洲国产精品一区二区尤物区| 欧美一级夜夜爽| 久久se精品一区精品二区| 久久久不卡网国产精品一区| 成人精品视频网站| 中文字幕精品一区二区精品绿巨人| 不卡高清视频专区| 性欧美疯狂xxxxbbbb| 欧美午夜一区二区三区| 国产盗摄一区二区三区| 亚洲精品免费在线播放| 日韩精品一区二区三区三区免费| 懂色av一区二区三区免费观看| 亚洲成a人片在线不卡一二三区 | 日韩精彩视频在线观看| 国产精品蜜臀在线观看| 日韩欧美色综合网站| 成人av网在线| 国产精品一区二区免费不卡 | 欧美大片免费久久精品三p| 国产精品 日产精品 欧美精品| 亚洲成av人片在www色猫咪| 国产精品女主播av| 久久精品一区二区三区av| 欧美午夜精品一区二区三区| 国模娜娜一区二区三区| 一区二区三区在线视频免费 | 最近日韩中文字幕| 欧美日韩一区三区四区| 色婷婷综合久久久中文一区二区| 亚洲国产cao| 亚洲一区在线观看免费| 国产三级久久久| 国产欧美精品一区| 久久精品欧美一区二区三区不卡 | 中文字幕乱码一区二区免费| 国产欧美一区二区精品久导航| 欧美一卡二卡在线观看| 欧美大片免费久久精品三p| 欧美日韩dvd在线观看| 日韩一级视频免费观看在线| 91精品国产色综合久久不卡蜜臀 | 国产女主播视频一区二区| 日韩视频一区二区| 精品国产乱码91久久久久久网站| 欧美成人vps| 国产欧美精品一区| 精品国产一区二区三区不卡 | 欧美色区777第一页| 欧美mv日韩mv| 国产免费久久精品| 亚洲国产中文字幕在线视频综合 | 国产精品一区二区视频| 国产精品99久久久久| 国产mv日韩mv欧美| 欧美丝袜丝交足nylons图片| 欧美日韩国产综合一区二区| 亚洲精品在线免费播放| 亚洲色图一区二区| 日韩av电影一区| 91激情五月电影| 久久这里只有精品首页| 亚洲成av人**亚洲成av**| 国产成人福利片| 日韩视频123| 亚洲视频1区2区| 不卡的看片网站| 国产午夜精品一区二区三区嫩草 | 美日韩一区二区| 色婷婷精品久久二区二区蜜臀av| 久久综合九色综合97婷婷女人| 天天色天天操综合| 91精品福利在线| 亚洲精品成人在线| 日本久久电影网| 亚洲一区二区三区自拍| 激情五月播播久久久精品| 69久久99精品久久久久婷婷 |