Python 将多个excel工作表中的数据合并为一个
我有城市地址,我需要放在一起,并找到所有的副本。到目前为止,我可以在excel文件中找到所有的副本。但我必须更改代码中的每个城市来搜索每个文件。我如何搜索每个文件而不必更改代码中的城市,然后当然保存它。我想合并它们,我可以,但我不明白为什么它们创建自己的3列,而不只是合并“A”、“B”和“C”列。也许熊猫不是最好的图书馆,可以推荐一个更好的Python 将多个excel工作表中的数据合并为一个,python,excel,pandas,Python,Excel,Pandas,我有城市地址,我需要放在一起,并找到所有的副本。到目前为止,我可以在excel文件中找到所有的副本。但我必须更改代码中的每个城市来搜索每个文件。我如何搜索每个文件而不必更改代码中的城市,然后当然保存它。我想合并它们,我可以,但我不明白为什么它们创建自己的3列,而不只是合并“A”、“B”和“C”列。也许熊猫不是最好的图书馆,可以推荐一个更好的 import os file_df = pd.read_excel("Kermit.xlsx") file_df.duplicate
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
如果不知道您的数据是什么样的,文件名是什么,就很难正确回答您的问题。我假设您的所有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)
您是否意识到变量City只能有一个值None,因为to_excel不返回任何内容?为什么要关心覆盖它?你能更详细地解释一下你的意思吗:他们创建自己的3列,而不仅仅是与已经存在的“a”、“B”和“C”列合并。文件有三列,名称、地址和电话。当我将两个或多个合并到一个新文件中时,来自第二个城市的“a”、“B”和“C”列将转到并为我拥有的所有12个左右的城市创建一个“D”、“E”和“F”列,依此类推。相反,我想要的是所有东西都放在相同的三列下,因为它们的数据类型都是相同的。相反,我想要的是所有东西都放在相同的三列下,因为它们的数据类型都是相同的。看一看,谢谢!这两个问题都回答了我的问题。