With a simple script and the help of Google Books API, I've built a JSON file containing information about the technical books I've read. There are about sixty books, and every record looks like this:

    "authors": [
        "Gregor Hohpe",
        "Bobby Woolf"
    "categories": [
    "comment": "...",
    "isbn": "9780133065107",
    "pages": 735,
    "published-date": "2012-03-09",
    "rating": {
        "average": 5.0,
        "count": 4,
        "mine": 4.0,
    "read": {
        "started": "2016-02-19",
        "finished": "2016-03-27"
    "subtitle": "Designing, Building, and Deploying Messaging Solutions",
    "thumbnail": "http://books.google.com/books/content?id=qqB7nrrna_sC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api",
    "title": "Enterprise Integration Patterns"

I started by exploring the data set interactively with Python. However, not only combining set, sum and map in a same expression is not particularly intuitive, but text-only output is not very visual either.

I wish I had a tool which would let me to magically import the data from the JSON file, and let me very intuitively play with this data to build some metrics and charts to respond to a given number of questions one could ask for this data set, such as:

  • What authors are the most popular among my readings?

  • How much books I've read per category (/categories/*)?

  • What were the books I've read fast (/read/started, /read/finished, /pages), or who are the authors who write books I've spend years to finish?

  • How my ratings (/rating/mine) compare to the average ratings (/rating/average)? Which books received a rating from me which is disproportionately different from the average?

  • Do I comment more the books published before 2010 or between 2010 and now?

All this is doable in Python, but not user friendly, and not visual.

The business intelligence systems I've heard about, such as SQL Server's BI platform, are too complex for my needs. I don't want to spend months learning how to use them. The goal is to be as simple as possible: small learning curve, and the possibility to import a JSON file without too much pain.

If it's a piece of software, it should work on either Linux Debian, or on Windows 10. It could also be a web application; the data I work with is not sensitive.

What are my options?


I would suggest looking into using Jupyter and Pandas. Jupyter notebooks let you work inside a browser window with the full power of python, and other kernels, and with plots, graphs, etc. while Pandas is great for manipulating the data that you have to generate the sort of displays that you are talking about.

  • 1
    Good suggestions, thank you. And the benefit is that both systems are related to Python. Dec 4 '16 at 14:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.