class XlsMaker(object):
def __init__(self,path='report'):
self.xls = pd.ExcelWriter('%s.xlsx' %path,engine='xlsxwriter')
df = pd.DataFrame({'Data': [10, 20, 30, 20, 15, 30, 45]})
# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter('%s.xlsx' %path,engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
# Close the Pandas Excel writer and output the Excel file.
writer.save()
def save(self):
print('Generating your report...')
self.xls.save()
self.xls.close()
print('Done!')
#I am invoking this class like below:-
rep1 = xlsMaker("Test")
rep1.save()
已创建Xlsx文件,但未填充数据。 当我不使用类时,我会发现使用数据创建的xlsx。 我想知道上面的代码中是否有任何错误,因为我是python的初学者。
答案 0 :(得分:0)
您正在包含pd.ExcelWriter('%s.xlsx' %path,engine='xlsxwriter')
的两行上创建两个对象。其中一个是类属性,另一个是初始化函数的本地属性。您正在本地的初始化程序中调用.save()
。
删除writer =...
行并将writer
的所有实例替换为self.xls
'