Table (.dat)
- Import and Export fully support the tabular data format and provide various data conversion and formatting options.
- Import automatically recognizes common number formats, including C and Fortran notations.
- Numbers without decimal points are imported as integers.
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, Export import from or export to a file CloudImport, CloudExport import from or export to a cloud object ImportString, ExportString import from or export to a string ImportByteArray, ExportByteArray import from or export to a byte array
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" Automatic string 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" None date format, given as a DateString specification "FieldSeparators" {" ","∖t"} string tokens taken to separate columns "HeaderLines" 0 number of lines to skip at the beginning of the file "IgnoreEmptyLines" False whether 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" True whether to import data fields as numbers if possible "RepeatedSeparators" True whether 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:
-
Alignment None how data is aligned within table columns CharacterEncoding "UTF8" raw character encoding used in the file "FieldSeparators" "\t" string token used to separate columns "TableHeadings" None headings for table columns and rows - Possible settings for Alignment are None, Left, Center, and Right.
- "TableHeadings" can be set to the following values:
-
None no labels Automatic gives 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:
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: