JSON To Word DOCX
289 Words ~2 Minute Reading Time • Subscribe to receive updates on Dev Tools
A simple python script to convert JSON to DOCX.
Installation
clone https://github.com/erictherobot/json-to-word.git json-to-docx
cd json-to-docx
pip3 install -r requirements.txt
Usage
python3 json-to-docx.py
Once you run this, it will generate a data.docx
file in the same directory. You can change the input and output file names in the script. Eventually, I will add command line arguments to make it more flexible.
JSON (input) Example:
[
{
"name": "John",
"age": 30,
"city": "New York"
},
{
"name": "Jane",
"age": 25,
"city": "Los Angeles"
}
]
DOCX (output) Example:
name | age | city |
---|---|---|
John | 30 | New York |
Jane | 25 | Los Angeles |
The Script json-to-docx.py
from docx import Document
import pandas as pd
import json
# Load the JSON data
with open("data.json") as f:
data = json.load(f)
# Convert the JSON data to a pandas DataFrame
df = pd.DataFrame(data)
# Create a new Word document
doc = Document()
# Add a table to the Word document
table = doc.add_table(rows=1, cols=len(df.columns))
# Set the headers of the table
for i, column in enumerate(df.columns):
table.cell(0, i).text = column
# Add the data to the table
for index, row in df.iterrows():
cells = table.add_row().cells
for i, value in enumerate(row):
cells[i].text = str(value)
# Save the Word document
doc.save("data.docx")
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
License
MIT
Supporting My Work
Please consider Buying Me A Coffee. I work hard to bring you my best content and any support would be greatly appreciated. Thank you for your support!