使用python将多个工作簿合并到单个xlsx工作簿中,同时跳过每个工作簿的最后3行

2024-10-02 22:30:29 发布

您现在位置:Python中文网/ 问答频道 /正文

正在寻找一种解决方案,将所有工作簿(只有一张工作表)数据合并到一张工作表而不是不同的工作表中的输出文件中。所有工作簿的标题都相同。合并时,是否可以跳过每个工作簿的最后3行,然后合并所有数据

我已经成功地将一个目录中的所有工作簿(带1张工作表的xls类型)合并到一个xlsx工作簿中,但是每个工作簿的输出都有不同的工作表。例如:如果一个目录中有6个工作簿,则输出工作簿有6张工作表

from pyexcel.cookbook import merge_all_to_a_book
import glob

merge_all_to_a_book(glob.glob(r"C:\Users\Amandeep Saluja\Desktop\MMAuto\*.xls"), "output.xlsx")

我想要的是,所有的工作簿合并到一个工作表中,同时跳过每个工作簿的最后3行

回答:

import pandas as pd 
import numpy as np 
import glob 

all_data = pd.DataFrame() 
for f in glob.glob(r"C:\Users\Amandeep Saluja\Desktop\MMAuto\*.xls"): 
  df = pd.read_excel(f, skipfooter=3) 
  all_data = all_data.append(df,ignore_index=True)

all_data.to_csv("Final_Output.csv", index=0)

Tags: to数据import目录datamergeallxlsx