XLSX (.xlsx,.xlsm)
予備知識
-
- 登録MIMEタイプ:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
- Microsoft Excelスプレッドシートファイル.
- Excel 2007およびそれ以降の標準形式.
- Office Open XMLスプレッドシートとしても知られる.
- XMLベースのファイルバンドル.
- データ,式,グラフィックスを保管する.
ImportとExport
- Import["file.xlsx"]はXLSXファイルの全シートをインポートし,結果を配列のリストとして返す.
- 各シートは数値・テキストデータ,ブール値,日付オブジェクトを含む完全な配列としてインポートされる.
- Import["file.xlsx",elem]はXLSXファイルから指定された要素をインポートする.
- Import["file.xlsx",{elem,sub1,…}]はサブ要素をインポートする.これは特に部分データのインポートに便利である.
- インポート形式はImport["file","XLSX"]またはImport["file",{"XLSX",elem,…}]で指定できる.
- Export["file.xlsx",expr]は配列または配列のリストをXLSXにエキスポートする.
- サポートされる式 expr には以下が含まれる:
-
{v1,v2,…} 一列のデータ {{v11,v12,…},{v21,v22,…},…} 行のリストのデータ array SparseArray,QuantityArray等の配列 tseries TimeSeries,EventSeries,TemporalDataオブジェクト Dataset[…] データ集合 Tabular[…] 表形式オブジェクト {data1,…} シートとしてエキスポートされるデータのリスト - Export["file.xlsx",{expr1,expr2,…},{{elem1,elem2,…}}]は各 expri が対応する elemi を指定しているとして扱う.
- Export["file.xlsx",{elem1->expr1,elem2->expr2,…},"Rules"]は規則を使ってエキスポートする要素を指定する.
- 一般的な情報は,以下の関数ページを参照のこと.
-
Import, Export ファイルからインポートする,あるいはファイルへエキスポートする CloudImport, CloudExport クラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする ImportString, ExportString 文字列からインポートする,あるいは文字列へエキスポートする ImportByteArray, ExportByteArray バイト配列からインポートする,あるいはバイト配列へエキスポートする
要素
- 一般的なImport要素:
-
"Elements" ファイル中の有効な要素とオプションのリスト "Summary" ファイルの概要 "Rules" 使用可能なすべての要素の規則のリスト - 基本情報要素:
-
"Dimensions" シート名とシートの次元の連想 "SheetCount" シート数 "Sheets" シート名のリスト - データ表現要素:
-
"Data" 全シートを表す完全な配列のリスト "Dataset" 全シートを表すDatasetオブジェクトのリスト "EventSeries" EventSeriesとしての表データ "FormattedData" スタイル要素が適用されたデータ "Formulas" テキストとして表されたすべての式 "Images" リストとして表された埋込み画像 "NamedRanges" スパンとしての名前付き範囲の連想 "Tabular" 全シートを表すTabularオブジェクトのリスト "TabularAssociation" シート名とTabularオブジェクトの連想 "TimeSeries" TimeSeriesとしての表データ - ImportとExportはデフォルトで"Data"要素を使う.
- データ表現要素はどれでも{elem,sheets,rows,cols}を指定してXLSXファイルの一部を抽出することができる.
- 部分指定 sheet には以下のいずれでも使用できる:
-
n n 番目のシート -n 最後から数える name シート name n;;m n 番目から m 番目までのシート n;;m;;s n 番目から s 刻みで m 番目までのシート {n1,name,…} 特定の名前またはシート指標 ni - 部分指定 row と col には以下のいずれでも使用できる:
-
n n 番目の行または列 -n 最後から数える n;;m n 番目から m 番目 n;;m;;s n 番目から s 刻みで m 番目まで {n1,n2,…} 特定のシート指標 ni または名前 - XLSXデータはWolfram言語では実数または整数,文字列,ブール値のTrueとFalse,およびDateList指定で表される.
- Import["file.xlsx","Formulas"]は各セルについて,{f1,f2,…}という形のExcel式を与える.fi はXLSXファイルのシートに対応する配列である.
- Importは完全な長方形配列としてスプレッドシートを生成する.
- Exportは完全な配列と不規則な配列をサポートする.
オプション
- ImportとExportのオプション:
-
"EmptyField" "" Wolfram言語で空のセルをどのように表すのか - Importオプション:
-
"HeaderLines" Automatic 見出しであると想定する行の数 "SkipLines" Automatic ファイルの冒頭の省略する行数 "TimeColumn" Automatic "EventSeries"要素および"TimeSeries"要素での時間に使用する列 - "HeaderLines"と"SkipLines"の可能な設定:
-
n 省略またはDataset見出しとして使用する n 行 {rows,cols} 省略または見出しとして使用する行と列 - Exportオプション:
-
"ImageFormat" "JPEG" 画像のエキスポートに使われる形式
例題
すべて開く すべて閉じる例 (4)
Import["ExampleData/cities.xlsx", {"Data", 1}]Import["ExampleData/cities.xlsx", "Images"]primes = Table[{n, Prime[n]}, {n, 12}];
Export["primes.xlsx", primes]data1 = Table[{t, 9.8 * t ^ 2}, {t, 0, 3, .1}];
data2 = Table[{t, 9.8 * t ^ 2}, {t, 0, 5, .2}];Export["datasets.xlsx", "Sheets" -> {"Experiment 1" -> data1, "Experiment 2" -> data2}, "Rules"]スコープ (9)
Import (4)
ファイル中のImport要素を表示する:
Import["ExampleData/cities.xlsx", "Elements"]1枚目のシートをTabularオブジェクトとしてインポートする:
Import["ExampleData/cities.xlsx", {"Tabular", 1}]シート名とTabularオブジェクトの連想としてすべてのシートをインポートする:
Import["ExampleData/cities.xlsx", "TabularAssociation"]スプレッドシートの中に埋め込まれている画像をインポートする:
Import["ExampleData/cities.xlsx", "Images"]Export (5)
Export["sheets.xlsx", {{"MySheet1" -> {Range[10]}, "MySheet2" -> {{"This is a string."}}}}, {{"Sheets"}}]Import["sheets.xlsx", {"Data", "MySheet1", 1, 4}]Import["sheets.xlsx", {"Data", 2}]Export["dates.xlsx", {Transpose@{{"date + time", "date"}, {DateList[], {2010, 1, 1}}}}]Importは日付をDateObjectに変換する:
Import["dates.xlsx"]ラスタ画像をXLSX形式にエキスポートする(ベクトルグラフィックスを自動的にラスタライズする):
Export["images.xlsx", {{"Multiple Images"}}, "Images" -> {[image], [image]}]Importは画像のリストを返す:
Import["images.xlsx", "Images"]一般的なファイル形式を表す生のバイト表現でも,画像としてXLSXにエキスポートすることができる:
Export["images.xlsx", {{"Image"}}, "Images" -> {Import["ExampleData/coneflower.jpg", "String"]}]Datasetをエキスポートする:
dataset = Dataset[{
<|"a" -> 1, "b" -> "x"|>,
<|"a" -> 2, "b" -> "y"|>,
<|"a" -> 3, "b" -> "z"|>,
<|"a" -> 4, "b" -> "x"|>,
<|"a" -> 5, "b" -> "y"|>,
<|"a" -> 6, "b" -> "z"|>}]input = Export["dataset.xlsx", dataset, "XLSX"]"HeaderLines"オプションを使って表の見出しをインポートする:
Import[input, {"XLSX", "Dataset", 1}, "HeaderLines" -> 1]Import要素 (18)
"Data" (6)
Import["ExampleData/cities.xlsx", "Data"]Import["ExampleData/cities.xlsx"]Import["ExampleData/cities.xlsx", {"Data", 1}]Import["ExampleData/cities.xlsx", {"Data", 1, 2}]Import["ExampleData/cities.xlsx", {"Data", 1, All, 2}]Import["ExampleData/cities.xlsx", "Sheets"]Import["ExampleData/cities.xlsx", {"Data", "Sheet1", 1 ;; 3}]"Dataset" (1)
XLSXファイルの最初のシートをDatasetとしてインポートする:
Import["ExampleData/cities.xlsx", {"Dataset", 1}]Import["ExampleData/cities.xlsx", {"Dataset", 1}, "HeaderLines" -> 1]"Dimensions" (1)
"EventSeries" (1)
XLSXファイルの最初のシートから最初の10行をEventSeriesとしてインポートする:
Import["ExampleData/mrrogers.xlsx", {"EventSeries", 1, 1 ;; 10}]"FormattedData" (1)
Styleの基本形式を維持してXLSXデータをインポートする:
Import["ExampleData/mrrogers.xlsx", {"FormattedData", 1, 1 ;; 10}]"Formulas" (1)
"Images" (1)
"NamedRanges" (1)
"SheetCount" (1)
"Sheets" (1)
"Tabular" (1)
XLSXファイルの1枚目のシートを Tabularとしてインポートする:
Import["ExampleData/cities.xlsx", {"Tabular", 1}]Import["ExampleData/cities.xlsx", {"Tabular", 1}, "HeaderLines" -> 1]"TabularAssociation" (1)
シート名とTabularオブジェクトの連想としてすべてのシートをインポートする:
Import["ExampleData/cities.xlsx", "TabularAssociation"]"TimeSeries" (1)
XLSXファイルの最初のシートから最初の10行をTimeSeriesとしてインポートする:
Import["ExampleData/mrrogers.xlsx", {"TimeSeries", 1, 1 ;; 10}]Importオプション (7)
"EmptyField" (1)
"HeaderLines" (4)
Import["ExampleData/cities.xlsx", {"XLSX", "Dataset", 1}]Import["ExampleData/cities.xlsx", {"XLSX", "Dataset", 1}, "HeaderLines" -> 1]Import["ExampleData/cities.xlsx", {"XLSX", "Dataset", 1}, "HeaderLines" -> {0, 1}]Import["ExampleData/cities.xlsx", {"XLSX", "Dataset", 1}, "HeaderLines" -> {1, 1}]"SkipLines" (1)
Export["file.xlsx", {{"comment"}, {"a", "b", "c"}, {"d", "e", "f"}, {"g", "h", "i"}}]Import["file.xlsx", {"XLSX", "Dataset", 1}, "SkipLines" -> 1]コメント行を省き,次の行をDatasetの見出しとして使用する:
Import["file.xlsx", {"XLSX", "Dataset", 1}, "SkipLines" -> 1, "HeaderLines" -> 1]"TimeColumn" (1)
考えられる問題 (2)
データの左上の角は,行と列の見出しを含むDatasetをインポートする際に失われる:
Import["ExampleData/cities.xlsx", {"XLSX", "Dataset", 1}, "HeaderLines" -> {1, 1}]データの次元によってDatasetが異なる形となることもある:
Export["test.xlsx", Partition[Take[Alphabet[], 9], 3]]Import["test.xlsx", {"XLSX", "Dataset", 1}, "HeaderLines" -> {0, 1}]Dimensions[%]Export["test.xlsx", Partition[Take[Alphabet[], 24], 8]]Import["test.xlsx", {"XLSX", "Dataset", 1}, "HeaderLines" -> {0, 1}]Dimensions[%]関連するガイド
-
▪
- 基本形式 ▪
- 日付と時刻 ▪
- インポートとエキスポート ▪
- データベース形式のインポートとエキスポート ▪
- 全形式のリスト ▪
- 数値データ ▪
- 統計的データ解析 ▪
- 表とスプレッドシート形式 ▪
- 時系列と事象系列の形式