So... $tables is empty, because you sent the data to Out-File.
Assuming you had not done so, $tables would be raw HTML. There's not really a trick or magic way to manipulate that. It gets down to string manipulation – PowerShell doesn't have anything that'd make this easier on you. And assuming you want each row to have two new columns... it's going to be really hard.
If in fact you're JUST capturing an HTML table, from the opening and closing TABLE tags, you might try casting it as XML. You'd get a document object model, at least, and maybe you could add nodes to that and then save it out as text.