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"] imports a tabular data file, returning a list of lists.
  • Export["file.dat",expr] exports a two-dimensional array or a Grid to a Table file.
  • Import["file.dat"] returns a two-dimensional array of strings and numbers representing the rows and columns stored in the file.
  • Export["file.dat",array] formats array as rows and columns using the CForm of each element.
  • The Wolfram Language automatically transforms arbitrary expressions to a list of lists when exporting to the "Table" format.
  • Import["file.dat",elem] imports the specified element from a Table file.
  • Import["file.dat",{elem,suba,subb,}] imports a subelement.
  • 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,elem] creates a Table file by treating expr as specifying element elem.
  • Export["file.dat",{expr1,expr2,},{{elem1,elem2,}}] treats each expri as specifying the corresponding elemi.
  • Export["file.dat",expr,opt1->val1,] exports expr with the specified option elements taken to have the specified values.
  • Export["file.dat",{elem1->expr1,elem2->expr2,},"Rules"] uses rules to specify the elements to be exported.
  • 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
  • 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

Basic Examples  (5)

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 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:

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: