excel 将文件名添加到 Dataframe 中的列标题

2o7dmzc5  于 2023-03-20  发布在  其他
关注(0)|答案(1)|浏览(201)

我有一个数据框,我创建了从合并一列从7个不同的Excel文件。下面是我使用的代码:

import pandas as pd
import glob

my_excel_files = glob.glob(r"C:\Users\.........\*.xlsx")

total_dataframe = pd.DataFrame() 

for file in my_excel_files:
    new_df = df['Comments']
    total_dataframe = pd.concat([total_dataframe, new_df], axis=1) # Puts together all Comments columns

从代码中可以看到,我从每个excel中抓取了“Comments”列,并将它们放在一个新的df中,唯一的问题是我希望能够将文件名添加到列名中,这样我就可以知道哪个列来自哪个excel文件,所有这些列现在都称为“Comments”。因此,理想情况下,其中一个列标题应该是“Comments(first_response.xlsx)”

4c8rllxm

4c8rllxm1#

让我们使用pathlibpd.concat
使用dict解析,我们可以从pathlib对象中获取.name属性,当使用concat时,文件名将被设置为索引:

from pathlib import Path

dfs = pd.concat({f.name : pd.read_excel(f) for f in Path(r'C:\Users\..').glob('*.xlsx')})

这将创建一个文件名为的索引,如果你想把它作为一列,你可以reset_index

相关问题