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的初学者 .
1 回答
您在包含
pd.ExcelWriter('%s.xlsx' %path,engine='xlsxwriter')
的两个不同行上创建了两个对象 . 其中一个是类属性,另一个是初始化函数的本地属性 . 你在本地的初始值设定项中调用.save()
.删除
writer =...
行并将writer
的所有实例替换为self.xls
'