How do I insert a view into an article based on filters that are only defined at node publish? I have a website that uses data in tables. I want my copywriters to use a filtered view which will be in the node edit form to create the view they want for a particular article then somehow insert code into the page so that the data shows. 

The views that are created will be different every time so this cannot be a pre-defined view as such, more a view with the filters that they decide to use at the time they publish the article.

Does anyone know how I might achieve this?
So if I understand correctly you have a node edit page, with a view provided by the views module with exposed filters, probably in a block in block somewhere on the page.

Your copywriter will then put some parameters into the exposed filters and get some results.

If this is a custom view that you have made then there are not going to be any pre-made modules that suit your needs so to put the content that is returned into the body your options are:

1) Copy and paste

2) Write some jQuery that runs upon clicking the view row that insert the copy into the body

Here is some information on adding js in Drupal.