CSV Viewer

Leightweight CSV-viewer
Have a look at the code on my Github: Github

Programming language: Python
Libraries: tkinter, numpy, pandas, pyperclip3

Brief Overview:

Goal

  • Lightweight GUI to view csv-files
  • Provide additional information about the content within the file

Methodology

  • Tkinter for GUI
  • Pandas for "backend" DataFrame

Challenges

  • Choose the "right" GUI-library
  • Layout of GUI

What did I learn?

  • Writing a GUI application in Tkinter

ToDo

  • Add more features to the GUI:
  • more sophisticated search parameters (results within a range)
  • add some light preprocessing (filling missing vlaues)
  • (maybe) change backend to sql to query data faster

Introduction

I often have the problem, when I work with csv files, that I want to look at them quickly and get an idea how the data is structured. This is not possible with Excel because it often takes too long to load the file, then the format is often wrong and you can not read the file properly, in addition, no meta information about the file is displayed. I want to make this better.

Implemented features

Upadeted 27.09.2021

  • Search function: users can now type column name=search string

Updated 25.09.2021

  • the entire csv can be searched with one keyword (search within one specifc column with more advanced serach parameters is in the pipeline)
  • file information will be updated to show how many results are in the search result
  • reset the search result
  • columns can be ordered by clicking on the column header
  • More Information no shows the number of unique values per column

As of 07.09.2021 the following features are implemented:

  • fully resizable GUI
  • Main view: see the whole csv-file (scrollable), content can be copyed to clipboard with right click
  • File Information: number of rows and columns, indicator for duplicates
  • More Information: showcase of data types, missing values, focus view of the values in a row