将熊猫作家对象传递给函数

时间:2018-08-20 21:08:27

标签: python pandas function

我正在尝试将Excel writer对象传递给函数以编写具有相同结果(每天,每周和每月的频率)的变体,但是似乎没有任何内容写在函数中。

我首先创建一个Excel writer对象:

writer = pd.ExcelWriter(outfn)
IRdaily.to_excel(writer, 'Interest Rates')
writer.save()

到目前为止,一切都很好-这就像一种魅力,利率表也可以得到。现在,我将结果以及writer对象传递给一个函数,该函数定义如下:

def writeResults(writer, DailyWeeklyMonthly, deltaIR):
    pd.DataFrame([DailyWeeklyMonthly + ' Changes in Interest Rates']).to_excel(writer, DailyWeeklyMonthly + ' Changes', startrow = 0, startcol=0,  header=False, index=False)    
    deltaIR.to_excel(writer,DailyWeeklyMonthly + ' Changes', startrow = 1)
    writer.save()

我用粗略的技巧来编写文本字符串,即从该字符串创建一个数据帧(pd.DataFrame([DailyWeeklyMonthly +'利率的变化'])),然后将其写入编写者反对的工作表中的适当位置需要创建。

如果我按以下方式调用此函数

writeResults(writer, 'Daily', deltaIRDaily)

什么都没写-工作表“每日更改”甚至都没有创建。但是,如果我不将编写器传递给writeResults函数,而是编写

writer = pd.ExcelWriter(outfn)
IRdaily.to_excel(writer, 'Interest Rates')
pd.DataFrame(['Daily Changes in Interest Rates']).to_excel(writer, 'Daily Changes', startrow = 0, startcol=0,  header=False, index=False)    
deltaIR.to_excel(writer,'Daily Changes', startrow = 1)

writer.save()

代码工作正常!将writer对象传递给writeResults函数时,我在做什么错?我这样做是为了用几行代码就能以各种频率(每天,每周,每月)编写结果。

预先感谢您的协助

托马斯·飞利浦

0 个答案:

没有答案