Table (.dat)

予備知識

    • 一般表データ.
    • 表としてフォーマットされた数値・テキスト情報を保管する.
    • ユーザ定義のフィールド・レコード分離,フィールド区切り,通貨トークン,数値形式をサポートする.
    • テキスト形式.

ImportとExport

  • Import["file.dat"]は表データファイルをインポートし,リストのリストを返す.
  • Export["file.dat",expr]は2次元配列かGridをTableファイルにエキスポートする.
  • Import["file.dat"]は,ファイルに保管された行と列を表す,文字列と数の2次元配列を返す.
  • Export["file.dat",array]は各要素のCFormを使って,行と列としてarray をフォーマットする.
  • Wolfram言語は"Table"形式へのエキスポートの際,任意の式をリストのリストに自動的に変換する.
  • Import["file.dat",elem]はTableファイルから指定された要素をインポートする.
  • Import["file.dat",{elem,suba,subb,}]はサブ要素をインポートする.
  • Import["file.dat",{{elem1,elem2,}}]は複数の要素をインポートする.
  • インポート形式はImport["file","Table"]またはImport["file",{"Table",elem,}]で指定できる.
  • Export["file.dat",expr,elem]expr が要素elem を指定してるとしてTableファイルを作成する.
  • Export["file.dat",{expr1,expr2,},{{elem1,elem2,}}]は各expri が対応するelemi を指定しているとして扱う.
  • Export["file.dat",expr,opt1->val1,]は指定の値を持つ指定のオプション要素でexpr をエキスポートする.
  • Export["file.dat",{elem1->expr1,elem2->expr2,},"Rules"]は規則を使ってエキスポートする要素を指定する.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

ノートブックインターフェース

  • 「選択範囲の形式保存」はノートブックの選択した部分をTableファイルにエキスポートする.

Import要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • データ表現要素:
  • "Data"行と列を表す2次元配列
    "Grid"Gridオブジェクトとして表される表データ
  • ImportExportはデフォルトで"Data"要素を使う.

オプション

  • ImportExportのオプション:
  • "TextDelimiters"Automatic非数値フィールドを区切るのに使われる文字列または文字列のリスト
  • デフォルトではExportはフィールド区切りを含むテキストフィールドをダブルクォート文字で区切る.
  • "TextDelimiters"を明示的に設定すると,Exportはテキストフィールドを区切るのに常に指定の文字列トークンを使用し,事実上は区切り文字のリストを巡回する.
  • "TextDelimiters"->{"<",">"}とすると,Exportはテキストフィールドを<>で囲む.
  • テキストフィールドを区切るダブルクォート文字は,デフォルトではインポートされない.
  • Importオプション
  • CharacterEncoding"ISOLatin1"ファイルで使用される生の文字コード
    "CurrencyTokens"{{"$", "£", "¥", "€"}, {"c", "¢", "p", "F"}}数値的な値をインポートする際に省略する通貨単位
    "DateStringFormat"NoneDateString指定で与えられる日付の書式
    "FieldSeparators"{" ","t"}列を区切る文字列トークン
    "HeaderLines"0ファイルの最初の省略する行数
    "IgnoreEmptyLines"False空白行を無視するかどうか
    "LineSeparators"{"r\n","n","\r"}行を区切る文字列トークン
    "NumberPoint""."小数点文字列
    "NumberSigns"{"-","+"}正および負の数の符号に使われる文字列
    "Numeric"True可能な場合にデータフィールドを数としてインポートするかどうか
    "RepeatedSeparators"Trueフィールド区切りを単一の区切り文字として解釈するかどうか
  • CharacterEncoding -> Automaticとすると,Importはファイルの文字コードの推測を試みる.
  • Import"DateStringFormat"オプションの指定に従ってフォーマットされた表の項目を,{y,m,d,h,m,s}という形式のDateObject表現に変換する.
  • 空白行や空白文字のみが含まれる行は,デフォルトでは空白のリストに変換される."IgnoreEmptyLines"Trueに設定すると,Importは空白行を省略する.
  • "Numeric"->Falseとすると,文字列はファイルにある形式でインポートされる.
  • "LineSeparators"のデフォルトの設定では,Importは行区切り文字コードの一般的な慣習をすべて自動的に認識する.
  • Exportオプション:
  • AlignmentNone表の列内にデータをどのように整列させるか
    CharacterEncoding"UTF8"ファイルで使用される生の文字コード
    "FieldSeparators""\t"列を区切るのに使われる文字列トークン
    "TableHeadings"None表の列と行の見出し
  • Alignmentに使用できる設定は,NoneLeftCenterRightである.
  • "TableHeadings"は以下の値に設定できる:
  • Noneラベルなし
    Automatic列と行に連続した整数ラベルを与える
    {"col1","col2",}列ラベルのリスト
    {rhead,chead}行と列の区切りラベルを指定する
  • ExportはWolfram言語が実行されているコンピュータシステムの慣習に従って行区切り文字を符号化する.

例題

  (5)

乱数配列を表としてエキスポートする:

グリッドとしてフォーマットされた表をエキスポートする:

生成されたファイルをインポートする:

ExportStringを使ってフォーマットされた配列を作成する:

縦線をフィールド区切り文字に使用している表データファイルをインポートする:

日付形式が指定されているなら,Importは日付をWolfram言語のDateObject指定に変換する:

UTF-8符号化の通貨トークンを含むテキストファイルを作成する:

このファイルをインポートするとき,通貨トークンは自動的に省略される:

Wolfram言語はTable形式のエキスポートの際,自動的に式をリストのリストに変換する: