¶
botcity.plugins.excel.plugin.BotExcelPlugin
¶
__init__(self, active_sheet=None)
special
¶
Class stores the data in a Excel-like (sheets) format.
This plugin supports multiple sheets into a object of this class. To access sheets other than the first, either pass the sheet index or name, or change the default sheet this class will point to with the set_active_sheet() method.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
active_sheet |
str, Optional |
The name of the sheet this class will be created with. Defaults to 'sheet1'. |
None |
Attributes:
Name | Type | Description |
---|---|---|
active_sheet |
str, Optional |
The default sheet this class's methods will work with. Defaults to 'sheet1'. |
active_sheet(self)
¶
Return to active sheet.
Returns:
Type | Description |
---|---|
str |
Active sheet name |
add_column(self, column, sheet=None)
¶
Add a new column to the sheet.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
column |
List[object] |
A list of cells. |
required |
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. |
None |
Defaults to None.
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining). |
add_columns(self, columns, sheet=None)
¶
Add new columns to the sheet.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
columns |
List[List[object]] |
A list of columns. Each column is a list of cells. |
required |
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. |
None |
Defaults to None.
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining). |
add_row(self, row, sheet=None)
¶
Add a new row to the bottom of the sheet.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
row |
List[object] |
A list of cell values. |
required |
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
None |
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining). |
add_rows(self, rows, sheet=None)
¶
Add new rows to the sheet.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
rows |
List[List[object]] |
A list of rows. |
required |
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. |
None |
Defaults to None.
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining). |
as_dataframe(self, sheet=None)
¶
Return the contents of an entire sheet in a Pandas DataFrame format.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
None |
Returns:
Type | Description |
---|---|
DataFrame |
A Pandas DataFrame object. |
as_list(self, sheet=None)
¶
Return the contents of an entire sheet in a list of lists format.
This is equivalent to get_range("", sheet).
Parameters:
Name | Type | Description | Default |
---|---|---|---|
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
None |
Returns:
Type | Description |
---|---|
List[List[object]] |
A list of rows. Each row is a list of cell values. |
clear(self, sheet=None)
¶
Delete the entire content of the sheet.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. |
None |
Defaults to None.
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining). |
clear_range(self, range_=None, sheet=None)
¶
Clear the provided area of the sheet.
Keep in mind that this method will not remove any rows or columns, only erase their values.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
range_ |
str, Optional |
The range to be cleared, in A1 format. Example: 'A1:B2', 'B', '3', 'A1'. If None, the entire sheet will be used as range. Defaults to None. |
None |
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
None |
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining) |
create_sheet(self, sheet)
¶
Create a new sheet.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
sheet |
str |
The new sheet's name. |
required |
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining) |
get_cell(self, column, row, sheet=None)
¶
Return the value of a single cell.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
column |
str |
The letter-indexed column name ('a', 'A', 'AA'). |
required |
row |
int |
The 1-indexed row number. |
required |
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
None |
Returns:
Type | Description |
---|---|
object |
The cell's value. |
get_column(self, column, sheet=None)
¶
Return the contents of an entire column in a list format.
Please note that altering the values in this list will not alter the values in the original sheet.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
column |
str |
The letter-indexed column name ('a', 'A', 'AA'). |
required |
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
None |
Returns:
Type | Description |
---|---|
List[object] |
The values of all cells within the column. |
get_range(self, range_, sheet=None)
¶
Return the values of all cells within an area of the sheet in a list of list format.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
range_ |
str |
The range (minus the sheet) to be retrieved, in a A1 format. Example: 'A1:B2', 'B', '3', 'A1'. |
required |
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
None |
Returns:
Type | Description |
---|---|
List[List[object]] |
A list with the recovered rows. Each row is a list of objects. |
get_row(self, row, sheet=None)
¶
Return the contents of an entire row in a list format.
Please note that altering the values in this list will not alter the values in the original sheet.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
row |
int |
The 1-indexed number of the row to be removed. |
required |
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
None |
Returns:
Type | Description |
---|---|
List[object] |
The values of all cells within the row. |
list_sheets(self)
¶
Return a list with the name of all the sheets in this spreadsheet.
Returns:
Type | Description |
---|---|
List[str] |
A list of sheet names. |
read(self, file_or_path)
¶
Read an Excel file.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
file_or_path |
Either a buffered Excel file or a path to it. |
required |
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining). |
remove_column(self, column, sheet=None)
¶
Remove single column from the sheet.
Keep in mind that the columns to its right will be moved to the left.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
column |
str |
The letter-indexed name ('a', 'A', 'AA') of the column to be removed. |
required |
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
None |
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining). |
remove_columns(self, columns, sheet=None)
¶
Remove a list of columns from the sheet.
Keep in mind that each column removed will cause the columns to their right to be moved left after they are all removed.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
columns |
List[str] |
A list of the letter-indexed names of the columns to be removed. |
required |
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
None |
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining). |
remove_row(self, row, sheet=None)
¶
Remove a single row from the sheet.
Keep in mind that the rows below will be moved up.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
row |
int |
The 1-indexed number of the row to be removed. |
required |
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
None |
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining). |
remove_rows(self, rows, sheet=None)
¶
Remove rows from the sheet.
Keep in mind that each row removed will cause the rows below it to be moved up after they are all removed.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
rows |
List[int] |
A list of the 1-indexed numbers of the rows to be removed. |
required |
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
None |
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining) |
remove_sheet(self, sheet)
¶
Remove a sheet.
Keep in mind that if you remove the active_sheet, you must set another sheet as active before using trying to modify it!
Parameters:
Name | Type | Description | Default |
---|---|---|---|
sheet |
str |
The sheet's name. |
required |
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining) |
rename_sheet(self, new_name, sheet)
¶
Rename a sheet.
Keep in mind that in doing so the new sheet will be reordered to the last position.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
new_name |
str |
The sheet will be renamed to this. |
required |
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
required |
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining) |
set_active_sheet(self, sheet=None)
¶
Set to active sheet.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
None |
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining) |
set_cell(self, column, row, value, sheet=None)
¶
Replace the value of a single cell.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
column |
str |
The cell's letter-indexed column name ('a', 'A', 'AA'). |
required |
row |
int |
The cell's 1-indexed row number. |
required |
value |
object |
The new value of the cell. |
required |
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
None |
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining) |
set_nan_as(self, value='', sheet=None)
¶
Set the NaN values.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
value |
str or int |
(str, Optional): The value to replace the NaN values. Defaults to "" |
'' |
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
None |
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining). |
set_range(self, values, range_=None, sheet=None)
¶
Replace the values within an area of the sheet by the values supplied.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
values |
List[List[object]] |
A list of rows. Each row is list of cell values. |
required |
range_ |
str, Optional |
The range (minus the sheet) to have its values replaced, in A1 format. Ex: 'A1:B2', 'B', '3', 'A1'. If None, the entire sheet will be used as range. Defaults to None. |
None |
sheet |
str |
(str, Optional): If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
None |
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining) |
sort(self, by_columns, ascending=True, start_row=2, end_row=None, sheet=None)
¶
Sorts the sheet's rows according to the columns provided.
Unless the start and end point are provided, all rows minus the first one will be sorted!
Parameters:
Name | Type | Description | Default |
---|---|---|---|
by_columns |
Union[str, List[str]] |
Either a letter-indexed column name to sort the rows by, or a list of them. In case of a tie, the second column is used, and so on. |
required |
ascending |
bool, Optional |
Set to False to sort by descending order. Defaults to True. |
True |
start_row |
str, Optional |
The 1-indexed row number where the sort will start from. Defaults to 2. |
2 |
end_row |
str, Optional |
The 1-indexed row number where the sort will end at (inclusive). Defaults to None. |
None |
sheet |
str, Optional |
If a sheet is provided, it'll be used by this method instead of the Active Sheet. Defaults to None. |
None |
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining) |
write(self, file_or_path)
¶
Write this class's content to a file.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
file_or_path |
Either a buffered Excel file or a path to it. |
required |
Returns:
Type | Description |
---|---|
BotExcelPlugin |
self (allows Method Chaining). |