【发布时间】:2026-02-11 06:15:02
【问题描述】:
我是 python 新手,我正在玩 pandas 库。我有一个名为 COMBO 的数据框,它将 5 个不同的 Excel 电子表格组合到一个主电子表格中。我想在最后添加一个新列,显示我合并电子表格的时间和时间,但我很难让它工作。我收到一个错误:TypeError: cannot concatenate a non-NDFrame object。到目前为止,这是我尝试过的:
import pandas as pd
import datetime
df1= pd.read_excel(r'W:\sheets\sh1.xlsx')
df2= pd.read_excel(r'W:\sheets\sh2.xlsx')
df3= pd.read_excel(r'W:\sheets\sh3.xlsx')
df4= pd.read_excel(r'W:\sheets\sh4.xlsx')
df5= pd.read_excel(r'W:\sheets\sh5.xlsx')
df6= pd.read_excel(r'W:\sheets\sh6.xlsx')
combo = pd.concat([df1,df2,df3,df4,df5,df6])
now = datetime.datetime.now() #defines NOW
ts = str(now) #converts it into string
timestamp = pd.DataFrame([]) #opens an empty dataframe
for row in combo.iterrows():
timestamp.append(ts)
master = pd.concat([combo,timestamp],axis=1)
master.to_excel(r'W:\sheets\mastersheet.xlsx',index = False)
基本上,我首先连接工作表,然后获取日期和时间,然后创建一个名为 TIMESTAMP 的空新数据框。然后,对于 COMBO 中的每一行,我将日期和时间附加到空数据帧 TIMESTAMP(这样我最终得到的列的行数与 COMBO 中的行数相同,并且都具有相同的时间戳)。最后,我将 TIMESTAMP 连接到 COMBO 以生成 MASTER 表。
我不确定该方法是否正确,但它不起作用。任何帮助,将不胜感激。
谢谢
【问题讨论】:
标签: python pandas timestamp concatenation