如何使用不同的数据帧更新相同的Excel工作表而不使用python2.7.14覆盖excel文件中的先前数据?

时间:2018-01-06 06:45:54

标签: python excel pandas dataframe

假设我有3个不同的数据帧,我在循环中生成数据帧。所以目前我正在将数据框转换为excel文件。我只能将一个数据帧转换为excel。但我需要更新所有3个数据帧,不同的数据应该在excel文件中依次追加。我怎样才能做到这一点?有可能吗?

我的当前代码。我正在将不同的数据帧转换为excel文件的不同表。

注意:我只需要附加一张excel表

for itr in range(0,3):
        df["users"] = UserArray
        for action in range(len(ColumnName)):
            Array = []
            for user in range(int(usercount)): 
                #calling Copylogs function to copy the required logs and actions in script into another file        
                Array.append(CopyLogs(abs_read_path,itr+1,user+1,ColumnName[action]))
            Array1 = AverageStatistics(Array)
            df[ColumnName[action]] = Array1
        print df
        print "\n"
        df.to_excel(writer,sheet_name="TimeStampsOfItr="+str(itr+1))
    writer.save()

1 个答案:

答案 0 :(得分:0)

您的意思是将数据框写入文件中的不同工作表吗?这可以使用pandas.DataFrame.to_excel的sheet_name =参数来完成,尽管您必须确保每次写入完成并且在执行下一次写入之前释放文件。尝试将writer.save()移动到循环中。如果您不想这样做establish the writer instance separately并将其用于不同表格上的多个数据框架。

如果要连续写入excel文件中的相同工作表但在空间重叠的不同位置,则需要在pandas中将不同数据组合在一起,然后从单个数据框写入目标工作表。写作excel的大熊猫的细节并没有提供一种机制来写出奇数行,然后只是偶数行。

编辑:添加到问题的更多信息