In the meantime, have you considered using SQL with a Python ES client? This will return results in table form.
Another option would be to copy the Elasticsearch request Lens uses from the Inspect flyout and run it against Elasticsearch directly (outside of Lens), increasing the number of terms. The response you'll get is not in table format, but could be tabified using a custom script.
Sorry, what you mean by increase the number of results?
Is Lens showing only part of the data and not the entire set? When you download a CSV from a Lens datatable the entire data is exported, it should not be truncated.
What I mean is that the max results lens can show for a given aggregation is max 1000. So if I want to see a list of all IPs and their locations, I could only show up to 1000 unique IPs, wheres I'd like to see around 2000 so that I can export.
I do a lot of these different aggregations on the fly so doing so with an elastic client isn't ideal for me. Thanks for the suggestion though @Andrew_Tate