Table Processing
Tables are used to handle more complex, organized data than lists. For example, an online store catalog where each row has different data: name, price, description, etc.
Tables can be used for:
- Working with a set of data
- Adding and getting table elements
- Deleting rows, columns, and duplicates
- Linking to a file
- Getting the number of rows and columns
How to add to your project?
Right-click: Add Action → Tables → Table Processing.
Available functions:
For column numbers, you can use either numbers (starting at zero) or uppercase Latin letters.
Get column
Lets you take the values of a certain table column and put them into a list.
Choose the Table → select the Function → specify the Column you want to get → choose the List to put the column in.
Get lines
You can get rows with the option to delete them from the table and write them to a list or variables.
- Row selection criteria:
- All
- Does not contain text
- Not matching regex
- First
- By numbers
- Random
- Contains text
- Matching regex
- Remove after getting. Decides if the rows you got will stay in the table.
- Place the result: You can put the row into a List or Variables. There's a table below to set this up.
Add line
If you need to add several rows at once, use the action Text Processing with “To Table” function.
With this function, you can put static text (string) or a variable into a table. These will be added to the end of the table.
If your table is linked to a file with .csv
, .xls(x)
, or .ods
extension, use {-String.Tab-}
as a separator.
Add list
This does the opposite — you can put a chosen list into a specific table column.
Pick a column to fill → Select a list.
Record cell
Adds text to a specific cell.
- Row and Column. Here you set the static cell coordinates or do it through variables.
- Value. Enter static text (string) or a variable.
Read cell
Get the value from a specified cell.
- Row and Column. Set static cell coordinates, or use variables.
- Put to variable. Pick a variable to put the result in.
Get the number of columns
Find out how many columns are in the table.
You can put the result into a variable (numeric value only (int)).
Get number of lines
Shows how many rows are in the table. You can put the result into a variable (numeric value only (int)).
Bind to file
Lets you link the table to a file while your project is running.
You need this action if you don’t know the file path when launching the template, and will get it while running.
- File path. Choose a file or variable with the file path.
- Create a file if it does not exist. If there’s no file, it’ll be created automatically.
Sort
Sorts table elements in ascending or descending order.
- Columns. Select the ones you need. ZennoDroid will pick up columns with values and suggest them.
- Sort content as numbers if it is possible. Uses numeric sorting if it’s possible.
This option only works if the column contains only whole numbers. If there are decimals, it sorts as strings.
- Sort type. Sort by Ascending or Descending.
Save to file
Saves the table to a file while the project runs. You need to pick a file or variable with the path.
This function only overwrites an existing file.
Remove duplicates
This function deletes duplicate values from the table.
- Columns. Check for duplicates in All or specific columns. ZennoDroid will pick up columns with values and suggest them.
Delete column
Deletes the selected column from the table entirely.
- Column. Enter a specific column or variable.
The column will be deleted with all its values.
Delete lines
Lets you delete certain rows across all columns.
- Row selection criteria:
- All
- By numbers
- Containing only space symbols
- Containing text
- First
- Matching regex
- Not containing text
- Not matching regex
- Random
The specified row gets deleted from all columns.
Tips for working with tables
- Avoid linking very large files (100 MB or more) to a table without using “Save table changes to file”, especially if you have low RAM.
- If you’re working with a table linked to the same file in several projects at once, use the same separator everywhere. For example, if one template uses
;
for columns and another uses-
, it’ll cause errors. - If your project runs with multiple threads, and each thread handles its own row, you should turn on “Save table changes to file”. This lets you get data from the table and delete it after you take it.
- If you sync with a file, changes made by any thread will instantly show up in the project since the table is shared across all threads.
- But if you’re not syncing with a file, every thread makes its own copy of the table. That means deleting a row in one thread won’t change the table in the others.
- Keep in mind: tables in RAM take up much more space than the original file. For example, a 10 MB CSV-based table in 100 threads with no file sync can use up 5 GB of RAM. So try not to use lists and tables in “no sync” mode unless you really have to.
Example
Open the marketplace app, collect product names you want into a list, and then add them to a table for future use.