gpt4 book ai didi

python - 如何在数据框中添加一列来说明每行来自哪个工作表名称? Python

转载 作者:行者123 更新时间:2023-12-02 10:58:16 24 4
gpt4 key购买 nike

我正在使用一个有五张纸的数据框,我想使用其中的四张。所以我可以将其加载到:

df = pd.read_excel('***.xls',sheet_name=['a','b','c','d'])

但现在我想添加一列来说明每行所在的工作表,但我不知道如何执行此操作。我尝试过这样的事情

for name, frame in df.items():
frame['Sheet'] = name
df = df.append(frame, ignore_index=True)

但我收到以下错误:

AttributeError: 'collections.OrderedDict' object has no attribute 'append'

任何帮助将不胜感激。先感谢您!

假设这就是我连接工作表后数据的样子:

df = pd.concat(pd.read_excel(***.xls, sheet_name=['a', 'b', 'c', 'd'],
header=1), ignore_index=True, sort=False)

Concat data

我的目标是添加一列,说明每行来自哪个工作表,就像这样......

Concat data with sheet name row

希望这可以帮助您理解我想要追求的目标。

(编辑)如果我想使用数据框中的所有工作表,但不想列出每个工作表的单独名称,我也想知道如何执行此操作。谢谢!

最佳答案

IIUC,尝试DataFrame.assignlist comprehension :

sheets = ['a', 'b', 'c', 'd']

df = pd.concat([pd.read_excel('***.xls', sheet_name=s)
.assign(sheet_name=s) for s in sheets])
<小时/>

更新

如果您想使用所有工作表并分配一列工作表名称,您可以这样做:

workbook = pd.ExcelFile('***.xls')
sheets = workbook.sheet_names

df = pd.concat([pd.read_excel(workbook, sheet_name=s)
.assign(sheet_name=s) for s in sheets])

关于python - 如何在数据框中添加一列来说明每行来自哪个工作表名称? Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59328721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com