Skip to main content

reportgen is a Python library for creating and updating analysis report.

Project description

Release v0.1.1

reportgen is a Python library for creating and updating analysis report.

Release History

0.1.0(2017-11-18)

  • Create.

Feature Support

reportgen has the following capabilities, with many more on the roadmap:

  • get all the texts in the pptx file

  • get all the images in the pptx file

  • add one slide simply about charts/tables/images with pandas in a pptx file

  • add slides simply about charts/tables/images with pandas in a pptx file

Quick Start

1銆丟et texts or images in a pptx file.

import reportgen as rpt
      # Open a pptx file
      p=rpt.Report('analysis.pptx')

      # We can get the texts and images simply.
      result=p.get_texts()
      print('\n'.join(result))
      # All the images will saved in folder '.\\images\\'.
      p.get_images()

2銆丆reated a analysis report.

  import reportgen as rpt
      import pandas as pd

      # Open a pptx file
      p=rpt.Report('template.pptx')# The parameters can be defaulted

      # add a cover
      p.add_cover(title='A analysis report powered by reportgen')

      # add a chart slide
      data=pd.DataFrame({'Jack':[90,80,100],'David':[100,70,85]},index=['Math','English','Physics'])
      p.add_slide(data={'data':data,'slide_type':'chart','type':'COLUMN_CLUSTERED'},\
      title='the scores report',summary='Our class got excellent results',footnote='This is a footnote.')

      # add a table slide
      data=pd.DataFrame({'Jack':[90,80,100],'David':[100,70,85]},index=['Math','English','Physics'])
      p.add_slide(data={'data':data,'slide_type':'table'},title='the scores report',summary='Our class got excellent results',footnote='This is a footnote.')

      # add a textbox slide
      data='This a paragraph. \n'*4
      p.add_slide(data={'data':data,'slide_type':'textbox'},title='This is a textbox slide',summary='',footnote='')

      # add a picture slide
      data='.\\images\\images.png'
      p.add_slide(data={'data':data,'slide_type':'picture'},title='This is a picture slide')
p.save('analysis report.pptx')

In general, I divide a slide of analysis report into four parts: title銆乻ummary銆乫ootnote and the body data. And the body are one or more charts/textboxs/tables/pictures.

The add_slide which is the most commonly used function has the following parameters:

add_slide(data=[{'data':,'slide_type':,'type':},],title='',summary='',footnote='',layouts='auto')

For example, we can draw a chart on the left side, and insert a picture on the right.

      import reportgen as rpt
      import pandas as pd

p=rpt.Report()
      scores=pd.DataFrame({'Jack':[90,80,100],'David':[100,70,85]},index=['Math','English','Physics'])
      data=[{'data':scores,'slide_type':'chart','type':'COLUMN_CLUSTERED'},\
{'data':'.\\images2.jpg','slide_type':'picture'}]
p.add_slide(data=data)
p.save('add_slide.pptx')

As a lazy person, I also provide a solution with less scripts.

import reportgen as rpt

p=rpt.Report()
imgs=['.\\images\\'+img for img in os.listdir('.\\images\\')]
p.add_slides(data=imgs)
# more functions way
slides_data=[{'title':'ppt{}'.format(i),'data':data} for i in range(10)]
p.add.slides(slides_data)
p.save('add_slides.pptx')

TO DO

  • support export analysis report to html

  • make the chart_type recommend more intelligence

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

reportgen-0.1.0-py2.py3-none-any.whl (4.6 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page