python beginner here with a simple question. Been using Python-Docx to generate some reports in word from Python data (generated from excel sheets). So far so good, but would like to add a couple of charts to the word document based on the data in question. I've looked at pandas and matplotlib and all seem like they would work great for what I need (just a few bar charts, nothing crazy). But can anyone tell me if it is possible to create the chart in python and have it output to the word document via docx?
How Can I Write Charts to Python DocX Document
15.1k views Asked by John Rogerson At
2
There are 2 answers
1
bbartling
On
I recently ran into this issue too where I wanted a graph output of Python matplotlib to be written directly into a MS word document using the Python module Docx. The only work around that I know of is saving the matplotlib output in a PNG file to a directory on your PC, and then using docx to insert the same file.
This seems to be working for me:
#use matplotlib to generate graph & save PNG to directory
matplotlibExample.plot()
plt.savefig('/Users/MyPC/Documents/Python/matplotlibExample.png')
plt.show()
#use Docx to insert the PNG and save report
document.add_picture('/Users/MyPC/Documents/Python/matplotlibExample.png')
document.save('/Users/MyPC/Documents/Python/myReport.docx')
Related Questions in PYTHON
- How to store a date/time in sqlite (or something similar to a date)
- Instagrapi recently showing HTTPError and UnknownError
- How to Retrieve Data from an MySQL Database and Display it in a GUI?
- How to create a regular expression to partition a string that terminates in either ": 45" or ",", without the ": "
- Python Geopandas unable to convert latitude longitude to points
- Influence of Unused FFN on Model Accuracy in PyTorch
- Seeking Python Libraries for Removing Extraneous Characters and Spaces in Text
- Writes to child subprocess.Popen.stdin don't work from within process group?
- Conda has two different python binarys (python and python3) with the same version for a single environment. Why?
- Problem with add new attribute in table with BOTO3 on python
- Can't install packages in python conda environment
- Setting diagonal of a matrix to zero
- List of numbers converted to list of strings to iterate over it. But receiving TypeError messages
- Basic Python Question: Shortening If Statements
- Python and regex, can't understand why some words are left out of the match
Related Questions in EXCEL
- Power Query / M Code, extract a list of tables into one main table, some column headers same but some different and in different order (and in row 2)
- Is there a way to validate the cell format (from excel) to fetch the symbol from it (in Java)?
- Excel - Visual Basic, macro with autofill "1"
- Getting Run-time error '13': Type Mismatch using .Find
- Getting website metadata (Excel VBA/Python)
- Excel Code Editor doesn't work (blank window)
- How to find out how many of each 2, 3 and 4 required to fit in 100 using excel?
- How would I apply a rather complex summation formula like this in Excel?
- Removing a Button from Customized Excel Ribbon
- Excel - Update Item Description Based on Accessories Ordered with It
- select duplicates from data based on another column
- How to use VBA to bold just some text
- VBA Code to filter and get values from csv to excel worksheet
- Look up max alpha numeric value
- Azure Batch for Excel VBA
Related Questions in MATPLOTLIB
- Str object is not callable in pandas
- How to throw a charged particle in a electric vector field?
- How are negative errorbar bounds transformed, when log axis scaling is applied before constructing a Seaborn lineplot?
- The kernel appears to have died. It will restart automatically. whenever i try to run the plt.imshow() and plt.show() function in jupyter notebook
- OpenGL Error [Python [OpenGL] [OpenAI Gym]
- Remove gaps between subplots_mosaic in matplotlib
- Matplotlib Fails to Update Axis Limits with ipywidgets in Jupyter Lab
- Low efficiency when plotting a large amount of contours on a single axis in python with matplotlib
- Why is countplot showing single value
- Matplotlib: Legend for marker and color in a scatterplot
- Contour plot projection not showing properly in matplotlib 3d plotting
- matplotlib sort barh by values
- loading variables from a python script in matlab
- cmap and color bar being compressed from the assigned range
- How can I position a pie chart within another plot according to x, y coordinates?
Related Questions in PYTHON-DOCX
- I am getting none with font name in some files
- Preserving word document formatting - footnotes, end notes everything while rewriting via code
- python-docx: Remove bibliography (w:sdt) section
- duplicate a page using docx-template
- Unable to read the elements in word document having content layout of 3 columns in the order in which it appears in word file
- Copying values from an excel table into a table in a word document
- How can I move paragraphs using python docx?
- Is there any way I can count the number of pages of a word document in python?
- python-docx - find and replace fails on table with multiple merged cells (list index out of range)
- Unable to add new line after matching a document.paragraphs - python docx library
- Faster / fastest way to convert pandas dataframes to word tables
- Issue with docxcompose and pyinstaller
- Read detailed style of paragraph in docx-file?
- How to access text box in a word document with Python?
- Split docx file at all Headings and keep styles?
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
The general approach that's currently supported is to export the chart from
matplotlibor wherever as an image, and then add the image to the Word document.While Word allows "MS Office-native" charts to be created and embedded, that functionality is not in
python-docxyet.