for my GUI I want to use a grid with 6 columns. The size of the table is set. How do I fill the width of the grid with the columns? Can you set the size of the columns? I only found padx to change the padding, but not the actual size of the columns.
For now, this is supposed to work on a canvas. Is that even possible?
With only the information you passed i would recommend you following:
Grid layouts your objects. Its not a table. 
If you work with grid here. The simplest thing should be to set the width of the object you put on the wanted grid. For example:

If you add a Label set the label to the width you want it to be. This label will then
  be displayed in the grid with its width and height.

If you want to display a table. Or even better load a table from a database. I would recommend a Treeview. Its good for design allows multiselect and its easy to fill and you dont have the layout problems :)
Column width using tkinter in python