The Table, Array, VLArray and EArray classes can all handle the complete set of data types supported by the numarray package (see ) and Numeric (see ) in Python. The data types for table fields can be set via the constructor for the Col class and its descendants (see 4.12.2 while array elements can be set through the use of the Atom class and its descendants (see 4.12.3).
A quick reference to the complete set of data types supported by PyTables is given in table A.
Type Code | Description | C Type | Size (in bytes) | Python Counterpart |
---|---|---|---|---|
Bool | boolean | unsigned char | 1 | Boolean |
Int8 | 8-bit integer | signed char | 1 | Integer |
UInt8 | 8-bit unsigned integer | unsigned char | 1 | Integer |
Int16 | 16-bit integer | short | 2 | Integer |
UInt16 | 16-bit unsigned integer | unsigned short | 2 | Integer |
Int32 | integer | int | 4 | Integer |
UInt32 | unsigned integer | unsigned int | 4 | Long |
Int64 | 64-bit integer | long long | 8 | Long |
UInt64 | unsigned 64-bit integer | unsigned long long | 8 | Long |
Float32 | single-precision float | float | 4 | Float |
Float64 | double-precision float | double | 8 | Float |
Complex32 | single-precision complex | struct {float r, i;} | 8 | Complex |
Complex64 | double-precision complex | struct {double r, i;} | 16 | Complex |
CharType | arbitrary length string | char[] | * | String |