Text (.txt)

  • Import and Export support a variety of Western character encodings and the Unicode standard.
  • UTF (Unicode Transformation Format) and UCS (Universal Character Set) mapping methods are supported.
  • The Wolfram Language can display a wide range of character sets, including Western and Asian scripts, mathematical symbols, and other special characters.
  • Background & Context

      Plain text file.
      Universal format for storage and exchange of textual information.
      Represents text as a sequence of characters and line separators.
      Stores characters as ASCII, 8-bit Western character codes, or Unicode.

    Import and Export

    • Import["file.txt"] imports a text file as a string.
    • Export["file.txt",expr] exports any expression to a text file.
    • Import["file.txt"] returns a string.
    • Export["file.txt",expr] creates a text file from the OutputForm representation of expr.
    • Import["file.txt",elem] imports the specified element from a text file.
    • Import["file.txt",{elem,suba,subb,}] imports a subelement.
    • Import["file.txt",{{elem1,elem2,}}] imports multiple elements.
    • The import format can be specified with Import["file","Text"] or Import["file",{"Text",elem,}].
    • Export["file.txt",expr,elem] creates a text file by treating expr as specifying element elem.
    • Export["file.txt",{expr1,expr2,},{{elem1,elem2,}}] treats each expri as specifying the corresponding elemi.
    • Export["file.txt",expr,opt1->val1,] exports expr with the specified option elements taken to have the specified values.
    • Export["file.txt",{elem1->expr1,elem2->expr2,},"Rules"] uses rules to specify the elements to be exported.
    • See the reference pages for full general information on Import and Export.
    • ImportString and ExportString support text formats.

    Notebook Interface

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


    • General Import elements:
    • "Elements" list of elements and options available in this file
      "Rules"full list of rules for each element and option
      "Options"list of rules for options, properties, and settings
    • Data representation elements:
    • "Data"tabular representation of the text
      "Lines"lines, given as a list of strings
      "Plaintext"text file represented as a single Wolfram Language string
      "String"raw byte string
      "Words"words separated by spaces, given as a list of strings
    • Import and Export use the "Plaintext" element by default.
    • Import["file.txt"] reads a text file, taking the character encoding to be "UTF8" by default.
    • Import["file.txt","Data"] attempts to read any text file as TSV, CSV, or Table, returning an array of strings and numbers.
    • Import["file",{"Text","String"}] or Import["file.txt","String"] imports a raw sequence of bytes and returns them as a Wolfram Language character string.
    • Specifying and selecting subelements of text files:
    • "Lines",nthe n^(th) line of the file
      "Words",nthe n^(th) word in the file
    • When importing from a text file, Import automatically replaces any character sequence commonly used as a line separator with "\n".
    • The Wolfram Language typically uses character code 10 ("\n") as a line separator in the internal representation of text.
    • Export uses the line separator convention of the computer system on which the Wolfram System is being run.


    • General Import and Export option:
    • CharacterEncoding"UTF8"raw character encoding used in the file
    • Possible settings for CharacterEncoding include:
    • "AdobeStandard"Adobe standard PostScript font encoding
      "ASCII"full ASCII, with control characters
      "EUC"extended Unix code for Japanese
      "ISOLatin1"ISO 88591 standard
      "ISOLatin2"ISO 88592 standard
      "ISOLatin3"ISO 88593 standard
      "ISOLatin4"ISO 88594 standard
      "ISOLatinCyrillic"ISO 88595 standard
      "MacintoshRoman"Macintosh roman font encoding
      "PrintableASCII"printable ASCII
      "ShiftJIS"ShiftJIS encoding of JIS X 02081990 and extensions
      "Symbol"symbol font encoding
      "Unicode"raw 2-byte Unicode values
      "UTF8"variable-width 1-byte Unicode format
      "WindowsANSI"Windows standard font encoding
    • The Wolfram Language internally stores characters as Unicode values.
    • When importing or exporting text with the setting CharacterEncoding->"Unicode", the Wolfram Language always assumes the byte ordering given by ByteOrdering->1.
    • A complete list of possible encodings is given by $CharacterEncodings.


    Basic Examples  (3)

    Import a text file and return the first few characters:

    Click for copyable input

    Import the first line from this file:

    Click for copyable input

    Import three lines:

    Click for copyable input

    Import this file using the "Words" element:

    Click for copyable input

    Any plain text file can be imported as text:

    Click for copyable input

    Export an arbitrary expression to text:

    Click for copyable input

    See Also

    $CharacterEncoding  CharacterEncoding  FromCharacterCode  ToCharacterCode  String

    Introduced in 1999
    | Updated in 2007