I need a Python script that using Tkinter for the GUI will perform a Chi-Square Test of Independence by filling in cells in a grid for a contingency table of up to  5 rows and 5 columns. If the table entered into the grid is smaller than 5×5, the user should simply leave the other cells blank. The 5 columns must be named "Group1", "Group2", "Group3", "Group4" and "Group5", and the 5 rows named "Category 1", "Category 2", "Category 3", "Category 4" and "Category 5". Below the grid presented on the canvas there should be a button labeled "Calculate" that will perform a chi-square test on the values entered into the grid, and below this button a text-box should display the calculated statistical values. The provided icon "retort.ico" should be presented as an image on the canvas near the upper left corner.

The calculated P-values in the text-box is presented in an for me unusual way, where for instance a calculated P-value of 0.09772 is presented as the value 9.7725e-02. Please correct this.

now create two buttons to the left of the "Calculate" with labels "Save csv" and "Open csv". When clicking the "Save csv" button the values entered into the grid should be saved to a .csv file, and clicking the button labeled "Open csv" should make it possible to import previous saved values into the grid. Also create a button to the right for the "Calculate" button labeled "Clear all" that will clear the grid and the calculated values presented in the text box below the buttons, and finally to the right of the "Clear all" button create a button labeled "Quit" that if clicked will quit the application.  

Now above the grid label the canvas in a bold font size 16 "Chi-Square Test of Independence".Colorize the button labeld "Calculate" green, and the button labeled "Quit" red.

Shrink hight of the results text-box by 15%, and clear unused vertical space between the title and the grid.

Create some vertical space on the canvas between the title and the grid, and create two separate text-boxes that only should contain a single line with up to 50 characters on top of each other in this space. The text-boxes should be labeled "H0: (null hypothesis)" respectively "H1: (alternative hypothesis)" with the label placed in a horisontal manner just to the left side of the text-boxes.

Preserve the canvas size but clear some of the empty vertical space above the grid 

Generate a bit of vertical empty space above the uppermost text-box labeled "H0: (null hypothesis)"

Now make it possible to save text entered in the newly created text boxes (labeled "H0: (null hypothesis)" respectively "H1: (alternative hypothesis)") together with data entered into the grid into the .csv file when clicking the "Save csv" button, and make sure content in these text-boxes also will load when opening saved .csv files 

Insert a text line in the results text-box beneath the line in the text-box presenting the calculated P-value that say: "Info: if P is less than 0.05 the null hypothesis is rejected". Use same font and font size as results in the results text-box

