Do magic to your excel file!
let's say we have a file like this:
id | name | age |
---|---|---|
1 | John Doe | 12 |
2 | Kelly | 18 |
from excel_magic.dataset import Dataset
ds = Dataset('a_file.xlsx')
table = ds.get_sheet(0)
search_results = table.find(name='John Doe')
table.remove(search_results[0])
search_results[1]['name'] = 'Vicky'
# we can leave age empty if we do it like this!
table.append({'id': '3', 'name': 'Dick'})
# we can use filter if we have even more complex conditions
filter_results = table.filter(lambda row: row['age'] is '')
# don't forget to save!
ds.save()
represents the style of a cell
attribute | description | default |
---|---|---|
horizontal_alignment | how text align in a cell | left |
vertical_alignment | how text align vertically in a cell | top |
bold | is text bold | False |
underline | is text underlined | False |
font_color | color of the font | black |
font_name | name of the font | Calibri |
font_size | font size | 12 |
fill_color | fill color | '' |
-
set_style(style: Style)
- se style of the cell
-
get_sheet(index: int)
- get sheet by index
-
get_sheet_by_name(name: str)
- get sheet by name
-
does_exist(name: str)
- check if a sheet exists
-
merge_file(path: str)
- merge another file to the current file
-
create_sheet_by_json(name: str, data: str) -> Sheet
- Create a sheet by json file
-
import_json(path: str)
- import multiple sheets from a json file
-
export_json(out: str)
- export all sheets to a json file
-
remove_sheet(sheet: Sheet)
- remove a sheet
-
save()
- save your stuff
-
find(**kwargs)
- find a list of rows
-
filter(callback)
- return a list of rows, filter by the callback function. return True if you want it
-
append_row(content: Union[dict, List[str]])
- add a row to your file, dict keys should be your headers
-
remove(row: dict)
- remove a row
-
set_header_style(style: Style)
- set style of the header
-
get_col(col: str)
- get rows of a column
-
get_rows() -> List[dict]
- get all rows
-
print_row(index: int) -> str
- return a string of a row ready to be print
-
set_row_style(row: Union[dict, int], style: Style)
- set style of a row
-
to_csv(out: str = '')
- Convert sheet to csv
-
to_json(out: str = '')
- Convert sheet to json
-
import_json(path: str)
- Import data from a json file
-
group_by(by: str) -> List[dict]
- Group data by a column
-
split_sheets(out='', out_prefix='')
- split file by sheets
-
split_rows(row_count: int, out='', out_prefix='')
- split file by rows