Table (.dat)

Background & Context

    • Generic tabular data.
    • Stores numerical and textual information, formatted as a table.
    • Supports user-defined field and record separators, field delimiters, currency tokens, and number formats.
    • Plain text format.

Import & Export

  • Import["file.dat"] returns a list of lists containing strings and numbers representing the rows and columns stored in the file.
  • Import["file.dat",elem] imports the specified element from a Table file.
  • Import["file.dat",{elem,subelem1,}] imports subelements subelemi, useful for partial data import.
  • Import["file.dat",{{elem1,elem2,}}] imports multiple elements.
  • The import format can be specified with Import["file","Table"] or Import["file",{"Table",elem,}].
  • Export["file.dat",expr] creates a Table file from expr.
  • Supported expressions expr include:
  • {v1,v2,}a single column of data
    {{v11,v12,},{v21,v22,},}lists of rows of data
    arrayan array such as SparseArray, QuantityArray, etc.
    tseriesa TimeSeries, EventSeries or a TemporalData object
    Dataset[]a dataset
    Tabular[]a tabular object
  • See the following reference pages for full general information:
  • Import, Exportimport from or export to a file
    CloudImport, CloudExportimport from or export to a cloud object
    ImportString, ExportStringimport from or export to a string
    ImportByteArray, ExportByteArrayimport from or export to a byte array

Notebook Interface

  • Save Selection As exports the selected part of a notebook as a Table file.

Import Elements

  • General Import elements:
  • "Elements" list of elements and options available in this file
    "Summary"summary of the file
    "Rules"list of rules for all available elements
  • Data representation elements:
  • "Data"two-dimensional array, representing the rows and columns
    "Grid"table data as a Grid object
    "Tabular"table data as a Tabular object
  • Import and Export use the "Data" element by default.

Options

  • Import and Export option:
  • "TextDelimiters"Automaticstring or list of strings used to delimit non-numeric fields
  • By default, Export delimits text fields containing the field separator with double-quote characters.
  • With an explicit setting of "TextDelimiters", Export always uses the specified string tokens to delimit text fields, effectively cycling through the list of delimiters.
  • With "TextDelimiters"->{"<",">"}, Export wraps text fields in angular brackets.
  • Double-quote characters delimiting text fields are not imported by default.
  • Import options:
  • CharacterEncoding"ISOLatin1"raw character encoding used in the file
    "CurrencyTokens"{{"$", "£", "¥", "€"}, {"c", "¢", "p", "F"}}currency units to be skipped when importing numerical values
    "DateStringFormat"Nonedate format, given as a DateString specification
    "FieldSeparators"{" ","t"}string tokens taken to separate columns
    "HeaderLines"0number of lines to skip at the beginning of the file
    "IgnoreEmptyLines"Falsewhether to ignore empty lines
    "LineSeparators"{"r\n","n","\r"}string tokens taken to separate rows
    "NumberPoint""."decimal point string
    "NumberSigns"{"-","+"}strings to use for signs of negative and positive numbers
    "Numeric"Truewhether to import data fields as numbers if possible
    "RepeatedSeparators"Truewhether to parse a sequence of field separators as a single separator
  • With CharacterEncoding -> Automatic, Import attempts to infer the character encoding of the file.
  • Import converts table entries formatted as specified by the "DateStringFormat" option to a DateObject.
  • Empty lines and lines containing only whitespace characters are converted to an empty list by default. With "IgnoreEmptyLines" set to True, Import will skip empty lines.
  • With "Numeric"->False, numbers will be imported as strings in the form they appear in the file.
  • With the default setting for "LineSeparators", Import automatically recognizes all common conventions for the encoding of line-separator characters.
  • Export options:
  • AlignmentNonehow data is aligned within table columns
    CharacterEncoding"UTF8"raw character encoding used in the file
    "FieldSeparators""\t"string token used to separate columns
    "TableHeadings"Noneheadings for table columns and rows
  • Possible settings for Alignment are None, Left, Center, and Right.
  • "TableHeadings" can be set to the following values:
  • Noneno labels
    Automaticgives successive integer labels for columns and rows
    {"col1","col2",}list of column labels
    {rhead,chead}specifies separate labels for the rows and columns
  • Export encodes line separator characters using the convention of the computer system on which the Wolfram Language is being run.

Examples

open allclose all

Basic Examples  (4)

Import data from a Table file:

Import data as a Tabular object:

Summary of a table file:

Export an array of random numbers as a table:

Scope  (8)

Import  (3)

Show all elements available in the file:

Import a tabular data file that uses vertical bars as field separators:

Import converts dates to a Wolfram Language DateObject specification if the date format is specified:

Export  (5)

Create a UTF-8 encoded text file that contains currency tokens:

When importing this file, currency tokens are automatically skipped:

The Wolfram Language automatically converts expressions to a list of lists when exporting to the Table format:

Table export uses the CForm for Real values:

Export an array of random numbers as a table:

Export a table formatted as a grid:

Import the generated file:

Use ExportString to create a formatted version of an array:

Import Elements  (5)

Data  (2)

Import data from a table file:

This is also the default element:

Create a text grid from data:

Grid  (1)

Import data from a table file as Grid:

Summary  (1)

Get the file summary:

Tabular  (1)

Get the data from a file as a Tabular object:

Import Options  (11)

CharacterEncoding  (1)

The character encoding can be set to any value from $CharacterEncodings:

"CurrencyTokens"  (1)

Currency tokens are automatically skipped:

Use the "CurrencyTokens"->None to include all currency tokens:

"DateStringFormat"  (1)

By default, no date conversion is happening:

Convert dates to a DateObject using the date format specified:

"FieldSeparators"  (1)

By default, " " and "t" are used as a field separators:

Use " | " as a field separator:

"HeaderLines"  (1)

Table files may include comment lines:

Specify the number of comment lines to skip:

"IgnoreEmptyLines"  (1)

Use "IgnoreEmptyLines" to remove lines with no data from the imported data:

"LineSeparators"  (1)

Use "LineSeparators" to separate rows:

"NumberPoint"  (1)

By default, "." is used to specify decimal point character for floating-point data:

Use "NumberPoint" option to specify decimal point character for floating-point data:

"NumberSigns"  (1)

By default, "-" and "+" are used for signs of negative and positive numbers:

Use "NumberSigns" option to specify signs of negative and positive numbers:

"Numeric"  (1)

By default, Import interprets numbers:

Use "Numeric"->False to import everything as strings:

"RepeatedSeparators"  (1)

By default, a sequence of field separators is parsed as a single separator:

Use "RepeatedSeparators"->False to disable that behavior:

Export Options  (4)

Alignment  (1)

By default, no additional characters are added for any alignment:

Left-align column values:

Center-align column values:

CharacterEncoding  (1)

The character encoding can be set to any value from $CharacterEncodings:

"FieldSeparators"  (1)

By default, "\t" is used to separate columns:

Use "FieldSeparators" option to specify a different separator:

"TableHeadings"  (1)

Export data using custom column headers:

Export data using custom column and row headers:

Export data using successive integer labels for columns and rows: