Since I’ve switched to use Claude from OpenAI ChatGPT, I have been pretty impressed. This blog entry showed my steps of creating an utility that I use at work for csv file comparison and editing. I need such a tool because I want to apply special logic and I am also on Mac, and the built-in Number app is not the easiest to use.
I was able to create this python utility app in less than 30 min. I do have knowledge about python and the packages that are used (streamlit and panda).
Here are the prompts I gave to Claude
- Prompt: “if i have two csv files and I want to compare two columns and find matches and create a third csv with the matched rows, how do i do that in python”
- Response:
- Created one file
- Response:
- Prompt: “Can you add a UI layer”
- Response: Claude uses tkinter
- Prompt: “Can you use streamlit”
- Prompt: “could you make it more modular so ui and data processing are in diff files. The compare_csv_files is in a lib?”
- Prompt like :”i got this error An error occurred: No columns to parse from file” and others
- Response: Several rounds of fixes
- Once working, I then prompt: “can you help me create a csv editor that sort and search”
- Response: Created a separate app
- Prompt: “can you integrate it with the existing app you created for me so it is in one app”
- Response: Proceed to create several iterations of code that at first was not modular but after “fine-tuning”, it produced code that I am happy with.
The final structure:
Thought:
It was relatively easy to generate this app and could be even easier if I provide more details upfront the functional and non-functional requirements.