DEV Community

Alain Airom
Alain Airom

Posted on

My first ‘baby step’ in automating tasks in Python for my Watson Assistant Project

I wrote my own Exel to JSON file converter!

Image description
For my current project using IBM Watson Assistant, I needed to import a big number of JSON files containing dialogs/intents/keywords… into my WA instance.

Image description
First I tried to find some free apps or websites to do this task for me, but suddenly I wanted to have some pleasure in doing it myself. I figured out that many examples are written in Python and decided to write my own Python code for this task (I’m not a Python developer, never 😆).

So I started copying/pasting/adapting code from different sites, and guess what; it worked 👍😅.

Hereafter is my basic code which works great for me. I passed 2 hours copying/pasting/adapting/debugging (including the installation of PyCharm community/free edition and doing pip installations) and voilà!

import os
import jpype

path = "/mypath"
fname = []
excelCounter = 0
arrayExtension = ['.xlsx','.xls','.xlsm']

jpype.startJVM()

def convert2json(arg1, arg2):
    from asposecells.api import Workbook
    arg1 = path + '/' + arg1
    workbook = Workbook(arg1+arg2)
    jsonfile = arg1 + '.json'
    workbook.save (jsonfile)
    print("JSON file created = %s" % jsonfile)



for root, d_names, f_names in os.walk(path):
    for f in f_names:
       fname.append(os.path.join(root, f))
       split_tup = os.path.splitext(f)
       file_name = split_tup[0]
       file_extension = split_tup[1]
       if file_extension in arrayExtension:
          excelCounter = excelCounter + 1
          print("File to be converted = %s" % f)
          print("excelCounter = %s" % excelCounter)
          convert2json(file_name, file_extension)

jpype.shutdownJVM()
Enter fullscreen mode Exit fullscreen mode
/mypath/Dev/PycharmProjects/exportExcel2JSON/xxxprj/bin/python /mypath/PycharmProjects/exportExcel2JSON/main.py 

File to be converted = Current-Intent-Entity-Training3.xls
excelCounter = 1
JSON file created = /maypath/Current-Intent-Entity-Training3.json
File to be converted = Current-Intent-Entity-Training.xlsx
excelCounter = 2
JSON file created = /maypath/Current-Intent-Entity-Training.json
File to be converted = Current-Intent-Entity-Training2.xlsx
excelCounter = 3
JSON file created = /maypath/Current-Intent-Entity-Training2.json

Process finished with exit code 0
Enter fullscreen mode Exit fullscreen mode

My takeaways;

This is so far from being perfect, I know, I’ll work on my work 😏
there are lots of great and useful libraries for Python
Python is great for string and file operations (and for sure other stuff, I’m talking about my very basic level)
I’ll do more of this in the future 👍👊😆💪

Top comments (0)