Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将多个excel工作表中的数据合并为一个_Python_Excel_Pandas - Fatal编程技术网

Python 将多个excel工作表中的数据合并为一个

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

我有城市地址,我需要放在一起,并找到所有的副本。到目前为止,我可以在excel文件中找到所有的副本。但我必须更改代码中的每个城市来搜索每个文件。我如何搜索每个文件而不必更改代码中的城市,然后当然保存它。我想合并它们,我可以,但我不明白为什么它们创建自己的3列,而不只是合并“A”、“B”和“C”列。也许熊猫不是最好的图书馆,可以推荐一个更好的

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”列,依此类推。相反,我想要的是所有东西都放在相同的三列下,因为它们的数据类型都是相同的。相反,我想要的是所有东西都放在相同的三列下,因为它们的数据类型都是相同的。看一看,谢谢!这两个问题都回答了我的问题。