首页 > 解决方案 > 将多个 Excel 工作表中的数据合并为一张

问题描述

我有城市地址需要汇总并找到所有重复项。我已经到了可以在excel文件中找到所有重复项的地步,到目前为止很容易。但是我必须更改代码中的每个城市才能搜索每个文件。我如何搜索每个文件而不必更改代码中的城市然后当然保存它。我想合并它们,但我不知道为什么它们会创建自己的 3 列,而不仅仅是与已经存在的“A”、“B”和“C”列合并。也许 Pandas 不是最好的库,可以推荐一个更好的库。

import os

file_df = pd.read_excel("Kermit.xlsx")

file_df.duplicated(subset = 'Address', keep = False)

file_df.drop_duplicates(subset= 'Address',inplace= True)

City = file_df.to_excel("Kermit2.xlsx", index= False)

# path = os.getcwd()
# files = os.listdir(path)
# print(files)

# files_xlsx = [f for f in files if f[-4:] == 'xlsx']

# print(files_xlsx)

# df = pd.DataFrame()

# for f in files_xlsx:
#    data = pd.read_excel(f, 'Sheet1')
#    df = df.append(data)`import os

标签: pythonexcelpandas

解决方案


如果不知道您的数据是什么样的以及您的文件命名是什么,就很难正确回答您的问题。我假设您所有的 excel 文件都在同一个文件夹中,并且它们具有相同的 3 列数据。

在这种情况下,您需要做的就是:

import os
import pandas as pd

source_folder = 'your_folder_location'
files = [os.path.join(source_folder, x) for x in os.listdir(source_folder) if x.endswith('xlsx')]

data = pd.append(pd.read_excel(x) for x in files)
data.drop_duplicates(subset=['Address'], inplace=True)
data.to_excel('blablabla.xlsx', index=False) 


推荐阅读