首页 文章

使用Python类将数据写入xls

提问于
浏览
1
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 回答

  • 0

    您在包含 pd.ExcelWriter('%s.xlsx' %path,engine='xlsxwriter') 的两个不同行上创建了两个对象 . 其中一个是类属性,另一个是初始化函数的本地属性 . 你在本地的初始值设定项中调用 .save() .

    删除 writer =... 行并将 writer 的所有实例替换为 self.xls '

相关问题