Create a Simple Streamlit Python CSV Comparison and Edit App (via Claude)

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

  1. 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
  2. Prompt: “Can you add a UI layer”
    • Response: Claude uses tkinter
  3. Prompt: “Can you use streamlit”
  4. Prompt: “could you make it more modular so ui and data processing are in diff files. The compare_csv_files is in a lib?”
  5. Prompt like :”i got this error An error occurred: No columns to parse from file” and others
    • Response: Several rounds of fixes
  6. Once working, I then prompt: “can you help me create a csv editor that sort and search”
    • Response: Created a separate app
  7. 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.

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply