Output is always flattened into a single list of dictionaries before saving to CSV, JSON, etc.
By grouping data into separate tables, it will be easier to post-process and merge the tables, e.g. connect data from separate pages into one row.
@select(css="...", table="table1")
def function1(element):
return {"data1": element.text_content()}
@select(css="...", table="table2")
def function2(element):
return {"data2": element.text_content()}