TabularInput¶
- class TabularInput(file=None, sidecar=None, name=None)[source]
A BIDS tabular tsv file with sidecar.
Methods
Constructor for the TabularInput class. |
|
Assembles the hed strings |
|
Get the metadata for each column |
|
|
Combines all columns in the given dataframe into a single HED string series, |
Convert all tags in underlying dataframe to the specified form. |
|
Convert all tags in underlying dataframe to long form. |
|
Convert all tags in underlying dataframe to short form. |
|
Shrinks any def-expand found in the underlying dataframe. |
|
Returns a list of column refs for this file. |
|
Returns the definition dict for this sidecar. |
|
Get the requested worksheet. |
|
|
Change the sidecars and settings. |
Set mapper to a different view of the file. |
|
Replace the specified cell with transformed text. |
|
Shrinks any def-expand found in the underlying dataframe. |
|
Write to file or return as a string. |
|
Output to an Excel file. |
|
Creates a SpreadsheetValidator and returns all issues with this fil |
Attributes
Returns a list of the column names. |
|
The underlying dataframe. |
|
Return the assembled dataframe |
|
True if dataframe has column names. |
|
The underlying loaded workbooks. |
|
Name of the data. |
|
Returns the onset column if it exists |
|
Return the assembled dataframe as a series |
|
Return the assembled dataframe as a series, with rows that have the same onset combined |
|
The worksheet name. |
- TabularInput.__init__(file=None, sidecar=None, name=None)[source]¶
Constructor for the TabularInput class.
- Parameters:
file (str or FileLike) – A tsv file to open.
sidecar (str or Sidecar or FileLike) – A Sidecar or source file/filename.
name (str) – The name to display for this file for error purposes.
- Raises:
file is blank
An invalid dataframe was passed with size 0
An invalid extension was provided
A duplicate or empty column name appears
OSError –
Cannot open the indicated file
ValueError –
This file has no column names
- TabularInput.assemble(mapper=None, skip_curly_braces=False)¶
Assembles the hed strings
- Parameters:
mapper (ColumnMapper or None) – Generally pass none here unless you want special behavior.
skip_curly_braces (bool) – If True, don’t plug in curly brace values into columns.
- Returns:
the assembled dataframe
- Return type:
Dataframe
- TabularInput.column_metadata()¶
Get the metadata for each column
- Returns:
number/ColumnMeta pairs
- Return type:
dict
- static TabularInput.combine_dataframe(dataframe)¶
- Combines all columns in the given dataframe into a single HED string series,
skipping empty columns and columns with empty strings.
- Parameters:
dataframe (Dataframe) – The dataframe to combine
- Returns:
the assembled series
- Return type:
Series
- TabularInput.convert_to_form(hed_schema, tag_form)¶
Convert all tags in underlying dataframe to the specified form.
- Parameters:
hed_schema (HedSchema) – The schema to use to convert tags.
tag_form (str) – HedTag property to convert tags to. Most cases should use convert_to_short or convert_to_long below.
- TabularInput.convert_to_long(hed_schema)¶
Convert all tags in underlying dataframe to long form.
- Parameters:
hed_schema (HedSchema or None) – The schema to use to convert tags.
- TabularInput.convert_to_short(hed_schema)¶
Convert all tags in underlying dataframe to short form.
- Parameters:
hed_schema (HedSchema) – The schema to use to convert tags.
- TabularInput.expand_defs(hed_schema, def_dict)¶
Shrinks any def-expand found in the underlying dataframe.
- Parameters:
hed_schema (HedSchema or None) – The schema to use to identify defs
def_dict (DefinitionDict) – The definitions to expand
- TabularInput.get_column_refs()[source]¶
Returns a list of column refs for this file.
Default implementation returns none.
- Returns:
A list of unique column refs found
- Return type:
column_refs(list)
- TabularInput.get_def_dict(hed_schema, extra_def_dicts=None)[source]¶
Returns the definition dict for this sidecar.
- Parameters:
hed_schema (HedSchema) – used to identify tags to find definitions
extra_def_dicts (list, DefinitionDict, or None) – Extra dicts to add to the list.
- Returns:
A single definition dict representing all the data(and extra def dicts)
- Return type:
DefinitionDict
- TabularInput.get_worksheet(worksheet_name=None)¶
Get the requested worksheet.
- Parameters:
worksheet_name (str or None) – The name of the requested worksheet by name or the first one if None.
- Returns:
The workbook request.
- Return type:
openpyxl.workbook.Workbook
Notes
If None, returns the first worksheet.
- Raises:
KeyError –
The specified worksheet name does not exist
- TabularInput.reset_column_mapper(sidecar=None)[source]¶
Change the sidecars and settings.
- Parameters:
sidecar (str or [str] or Sidecar or [Sidecar]) – A list of json filenames to pull sidecar info from.
- TabularInput.reset_mapper(new_mapper)¶
Set mapper to a different view of the file.
- Parameters:
new_mapper (ColumnMapper) – A column mapper to be associated with this base input.
- TabularInput.set_cell(row_number, column_number, new_string_obj, tag_form='short_tag')¶
Replace the specified cell with transformed text.
- Parameters:
row_number (int) – The row number of the spreadsheet to set.
column_number (int) – The column number of the spreadsheet to set.
new_string_obj (HedString) – Object with text to put in the given cell.
tag_form (str) – Version of the tags (short_tag, long_tag, base_tag, etc)
Notes
Any attribute of a HedTag that returns a string is a valid value of tag_form.
- Raises:
ValueError –
There is not a loaded dataframe
KeyError –
the indicated row/column does not exist
AttributeError –
The indicated tag_form is not an attribute of HedTag
- TabularInput.shrink_defs(hed_schema)¶
Shrinks any def-expand found in the underlying dataframe.
- Parameters:
hed_schema (HedSchema or None) – The schema to use to identify defs
- TabularInput.to_csv(file=None)¶
Write to file or return as a string.
- Parameters:
file (str, file-like, or None) – Location to save this file. If None, return as string.
- Returns:
None if file is given or the contents as a str if file is None.
- Return type:
None or str
- Raises:
OSError –
Cannot open the indicated file
- TabularInput.to_excel(file)¶
Output to an Excel file.
- Parameters:
file (str or file-like) – Location to save this base input.
- Raises:
ValueError –
if empty file object was passed
OSError –
Cannot open the indicated file
- TabularInput.validate(hed_schema, extra_def_dicts=None, name=None, error_handler=None)¶
Creates a SpreadsheetValidator and returns all issues with this fil
- Parameters:
hed_schema (HedSchema) – The schema to use for validation
extra_def_dicts (list of DefDict or DefDict) – all definitions to use for validation
name (str) – The name to report errors from this file as
error_handler (ErrorHandler) – Error context to use. Creates a new one if None
- Returns:
A list of issues for hed string
- Return type:
issues (list of dict)
- TabularInput.COMMA_DELIMITER = ','¶
- TabularInput.EXCEL_EXTENSION = ['.xlsx']¶
- TabularInput.FILE_EXTENSION = ['.tsv', '.txt', '.xlsx']¶
- TabularInput.FILE_INPUT = 'file'¶
- TabularInput.HED_COLUMN_NAME = 'HED'¶
- TabularInput.STRING_INPUT = 'string'¶
- TabularInput.TAB_DELIMITER = '\t'¶
- TabularInput.TEXT_EXTENSION = ['.tsv', '.txt']¶
- TabularInput.columns¶
Returns a list of the column names.
Empty if no column names.
- Returns:
the column names
- Return type:
columns(list)
- TabularInput.dataframe¶
The underlying dataframe.
- TabularInput.dataframe_a¶
- Return the assembled dataframe
Probably a placeholder name.
- Returns:
the assembled dataframe
- Return type:
Dataframe
- TabularInput.has_column_names¶
True if dataframe has column names.
- TabularInput.loaded_workbook¶
The underlying loaded workbooks.
- TabularInput.name¶
Name of the data.
- TabularInput.onsets¶
Returns the onset column if it exists
- TabularInput.series_a¶
Return the assembled dataframe as a series
- Returns:
the assembled dataframe with columns merged
- Return type:
Series
- TabularInput.series_filtered¶
Return the assembled dataframe as a series, with rows that have the same onset combined
- Returns:
the assembled dataframe with columns merged, and the rows filtered together
- Return type:
Series
- TabularInput.worksheet_name¶
The worksheet name.