Package csb :: Package io :: Module tsv :: Class Table
[frames] | no frames]

Class Table

source code

object --+
         |
        Table

Build and query a TSV Table. See the documentation of csb.io.tsv for details and examples.

Instance Methods
 
__array__(self) source code
 
__del__(self) source code
 
__getitem__(self, i) source code
 
__getstate__(self) source code
 
__init__(self, definition, name='TSV', backend=<class 'csb.io.tsv.SQLiteRepository'>)
x.__init__(...) initializes x; see help(type(x)) for signature
source code
 
__iter__(self) source code
 
__len__(self) source code
 
__setitem__(self, i, value) source code
 
__setstate__(self, state) source code
 
column(self, column)
Returns: a list all values in the specified column
source code
 
dump(self, file)
Dump the table in a file.
source code
 
insert(self, row)
Insert a new row in the table.
source code
iterable (2D)
query(self, sql, params=None)
Execute a native SQL query against the storage engine.
source code
 
scalar(self, row=None, column=None)
Returns: a scalar value at the specified row and column.
source code
 
select(self, *columns)
Returns: a new Table
source code
 
update(self, column, value)
Update column for all rows in the table.
source code
 
where(self, column) source code

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Static Methods
Table
from_iterable(iterable, definition, name='TSV', backend=<class 'csb.io.tsv.SQLiteRepository'>)
Table factory: build a Table from a 2D iterable/data reader.
source code
Table
from_table(table, data=False, name='TSV', backend=<class 'csb.io.tsv.SQLiteRepository'>)
Table factory: build a Table with the definition of another Table.
source code
Table
from_tsv(tsv, definition=None, delimiter='\t', skip=0, name='TSV', backend=<class 'csb.io.tsv.SQLiteRepository'>)
Table factory: build a Table from a TSV file.
source code
Class Variables
  HEADER = '# @TSV '
  NULL = ''
Properties
tuple columns
All column names
str name
Table name
  pk

Inherited from object: __class__

Method Details

__init__(self, definition, name='TSV', backend=<class 'csb.io.tsv.SQLiteRepository'>)
(Constructor)

source code 

x.__init__(...) initializes x; see help(type(x)) for signature

Parameters:
  • definition (str, tuple of ColumnInfo) - column definition string: ColA:typeA colB:typeB ..., where ColN is a column name and typeN is one of the base Python data types: str, int, long, float. Alternatively, the table definition may be specified directly as a list of metadata objects.
  • name (str) - name of the table on the SQL backend. Useful when you need to execute native SQL queries against the table.
  • backend (type (reference to a RepositoryImp subclass)) - table backend storage engine. This must be a proper RepositoryImp bridge implementor.
Raises:
  • UnsupportedTypeError - when an unsupported type is used in the table definition
  • ValueError - if the definition is not valid
Overrides: object.__init__
(inherited documentation)

column(self, column)

source code 
Parameters:
  • column (str) - column to fetch
Returns:
a list all values in the specified column

dump(self, file)

source code 

Dump the table in a file.

Parameters:
  • file (file (stream) or str (filename)) - destination stream or filename

from_iterable(iterable, definition, name='TSV', backend=<class 'csb.io.tsv.SQLiteRepository'>)
Static Method

source code 

Table factory: build a Table from a 2D iterable/data reader.

Parameters:
  • iterable (iterable (2D)) - data container
  • definition (str, tuple of ColumnInfo) - table column definition (see Table).
Returns: Table

from_table(table, data=False, name='TSV', backend=<class 'csb.io.tsv.SQLiteRepository'>)
Static Method

source code 

Table factory: build a Table with the definition of another Table.

Parameters:
  • table (Table) - template table
  • data (bool) - if True, also copy the data from the source table
Returns: Table

from_tsv(tsv, definition=None, delimiter='\t', skip=0, name='TSV', backend=<class 'csb.io.tsv.SQLiteRepository'>)
Static Method

source code 

Table factory: build a Table from a TSV file.

Parameters:
  • tsv (str) - TSV path and filename. This can be either a conventional TSV/CSV file, or a file created with table.dump(tsv)
  • definition (str, tuple of ColumnInfo) - table column definition (see Table). If defined, this parameter will determine the structure of the table. Otherwise, the table definition will be extracted from the TSV header. If the file contains no TSV header, this parameter is mandatory.
  • delimiter (str) - column separator used in the file
  • skip (int) - skip the first N number of rows (the header can still be extracted from those however)
Returns: Table
Raises:
  • ValueError - if neither a table definition is provided, nor the tsv file has a header line

insert(self, row)

source code 

Insert a new row in the table.

Parameters:
  • row (tuple) - a tuple of the appropriate length

query(self, sql, params=None)

source code 

Execute a native SQL query against the storage engine.

Parameters:
  • sql - SQL query text. May contain parameter binding placeholders (see Predicate.PH). The SQL dialect of the query depends on the SQL backend being used by the table.
Returns: iterable (2D)
native data reader

scalar(self, row=None, column=None)

source code 
Parameters:
  • row (int) - row index; if not specified - take the first row
  • column (str) - column name; if not specified - take the first
Returns:
a scalar value at the specified row and column.
Raises:
  • IndexError - when an invalid row is requested
  • InvalidColumnError - when an invalid column is requested

select(self, *columns)

source code 
Parameters:
  • columns (str, tuple of str) - column names; defaults to all columns
Returns:
a new Table
Raises:

update(self, column, value)

source code 

Update column for all rows in the table.

Parameters:
  • column (str) - column to update (name)
  • value - new column value
Raises:

where(self, column)

source code 
Parameters:
  • column (str) - column name
Raises:

Property Details

columns

All column names

Get Method:
unreachable.columns(self) - All column names
Type:
tuple

name

Table name

Get Method:
unreachable.name(self) - Table name
Type:
str

pk

Get Method:
unreachable.pk(self)