找到数据框并根据Python中的特定标头进行连接

时间:2019-01-24 12:50:29

标签: python pandas

如果我有很多如下所示的excel文件(这里仅是两个示例):

data1.xlsx

df1

data2.xlsx

enter image description here

是否有可能我只使用id, a, b, c列的内容而忽略其余的内容,而是将所有这些文件连接在一起成为Python中的新excel文件。谢谢。

enter image description here

这是我尝试过的:

import os

for root, dirs, files in os.walk(src, topdown=False):
    for file in files:
        if file.endswith('.xlsx') or file.endswith('.xls'):
            #print(os.path.join(root, file))
            try:
                df0 = pd.read_excel(os.path.join(root, file))
                #print(df0)
            except:
                continue
            df1 = pd.DataFrame(columns = [columns_selected])
            df1 = df1.append(df0, ignore_index = True)
            print(df1)
            df1.to_excel('test.xlsx', index = False)

2 个答案:

答案 0 :(得分:1)

使用skpirowsnrows https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_excel.html

import pandas

df1 = pd.read_excel('data1.xlsx', skpirows=3, nrows=5)
df2 = pd.read_excel('data2.xlsx', skpirows=4, nrows=5)

dfFinal = df1.append(df2)

答案 1 :(得分:1)

在您需要多个Excel文件的情况下扩展@Charles R的答案。

# get all the files
os.chdir('C:\ExcelWorkbooksFolder')
FileList = glob.glob('*.xlsx')
print(FileList)

然后:

for File in FileList:
    for x in File:
        # the rest of the code for reading