writetable

Запись таблицы в файл

Описание

пример

writetable(T) записывает таблицу T в текстовый файл с разделителем запятыми. Имя файла является именем переменной рабочей области таблицы, добавленной с расширением .txt. Если writetable не удается создать имя файла из имени входа таблицы, после чего оно записывается в файл table.txt.

Для текста и файлы электронной таблицы, каждый столбец каждой переменной в T становится набором XML- узлами в файле выхода. Для XML- файлы каждый столбец в T становится XML- узел в файле выхода. Имена переменных T стать именами узлов элемента в выход XML- файлом.

writetable(T,filename) записывает в файл с именем и расширением, заданными filename.

writetable определяет формат файла на основе заданного расширения. Расширение должно быть одним из следующих:

  • .txt, .dat, или .csv для текстовых файлов с разделителями

  • .xls, .xlsm, или .xlsx для Excel® файлы электронной таблицы

  • .xlsb для файлов электронной таблицы Excel, поддерживаемых в системах с Excel для Windows®

  • .xml для файлов расширяемого языка разметки (XML)

пример

writetable(___,Name,Value) записывает таблицу в файл с дополнительными опциями, заданными одним или несколькими Name,Value пар аргументов и может включать любой из входных параметров в предыдущих синтаксисах.

Для примера можно указать, следует ли записывать имена переменных как заголовки столбца в файле выхода.

Примеры

свернуть все

Составьте таблицу.

T = table(['M';'F';'M'],[45 45;41 32;40 34],...
    {'NY';'CA';'MA'},[true;false;false])
T=3×4 table
    Var1      Var2       Var3     Var4 
    ____    ________    ______    _____

     M      45    45    {'NY'}    true 
     F      41    32    {'CA'}    false
     M      40    34    {'MA'}    false

Запишите таблицу в текстовый файл с разделителем запятыми и отобразите содержимое файла.

writetable(T)

writetable выводит текстовый файл с именем T.txt.

type 'T.txt'
Var1,Var2_1,Var2_2,Var3,Var4
M,45,45,NY,1
F,41,32,CA,0
M,40,34,MA,0

writetable добавляет уникальный суффикс к имени переменной, Var2, над двумя столбцами соответствующих данных.

Составьте таблицу.

T = table(['M';'F';'M'],[45 45;41 32;40 34],...
    {'NY';'CA';'MA'},[true;false;false])
T=3×4 table
    Var1      Var2       Var3     Var4 
    ____    ________    ______    _____

     M      45    45    {'NY'}    true 
     F      41    32    {'CA'}    false
     M      40    34    {'MA'}    false

Запишите таблицу в текстовый файл с разделителем пробел с именем myData.txt и отобразите содержимое файла.

writetable(T,'myData.txt','Delimiter',' ')  
type 'myData.txt'
Var1 Var2_1 Var2_2 Var3 Var4
M 45 45 NY 1
F 41 32 CA 0
M 40 34 MA 0

writetable добавляет уникальный суффикс к имени переменной, Var2, над двумя столбцами соответствующих данных.

Составьте таблицу.

LastName = {'Smith';'Johnson';'Williams';'Jones';'Brown'};
Age = [38;43;38;40;49];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];

T = table(Age,Height,Weight,BloodPressure,...
    'RowNames',LastName)
T=5×4 table
                Age    Height    Weight    BloodPressure
                ___    ______    ______    _____________

    Smith       38       71       176       124     93  
    Johnson     43       69       163       109     77  
    Williams    38       64       131       125     83  
    Jones       40       67       133       117     75  
    Brown       49       64       119       122     80  

Напишите таблицу, T, в текстовый файл с разделителем запятыми, вызываемый myPatientData.dat, и отобразить содержимое файла.

writetable(T,'myPatientData.dat','WriteRowNames',true)  
type 'myPatientData.dat'
Row,Age,Height,Weight,BloodPressure_1,BloodPressure_2
Smith,38,71,176,124,93
Johnson,43,69,163,109,77
Williams,38,64,131,125,83
Jones,40,67,133,117,75
Brown,49,64,119,122,80

Первый столбец, содержащий имена строк, имеет заголовок столбца Row. Это первое имя размерности для таблицы из свойства T.Properties.DimensionNames.

Преобразуйте английские даты в таблице на немецкий язык и запишите таблицу в файл.

Составьте таблицу, содержащую datetime массив с датами на английском языке. Создайте векторы-столбцы с числовыми данными, чтобы перейти с датами.

D = datetime({'01-Jan-2014';'01-Feb-2014';'01-Mar-2014'});
D.Format = 'dd MMMM yyyy';
X1 = [20.2;21.6;20.7];
X2 = [100.5;102.7;99.8];
T = table(D,X1,X2)
T = 

           D             X1      X2  
    ________________    ____    _____

    01 January 2014     20.2    100.5
    01 February 2014    21.6    102.7
    01 March 2014       20.7     99.8

Запись таблицы в текстовый файл. Укажите немецкий язык для локали дат с помощью DateLocale аргумент пары "имя-значение" и отображение дат в текстовом файле.

writetable(T,'myfile.txt','DateLocale','de_DE');
type myfile.txt
D,X1,X2
01 Januar 2014,20.2,100.5
01 Februar 2014,21.6,102.7
01 März 2014,20.7,99.8

Когда ваши данные содержат иностранные или не ASCII символы, используйте параметр кодирования, чтобы убедиться, что файл записан правильно. Сначала загружает предоставленную таблицу в рабочую область. Затем запишите таблицу в файл, используя кодировку по умолчанию. Наконец, запишите таблицу используя 'UTF-8' кодирование и исследование результата.

Загрузка Table_Japanese_Characters.mat который содержит таблицу T. Предварительный просмотр таблицы показан ниже. Заметьте, что таблица содержит два столбца с японскими символами.

load('Table_Japanese_Characters.mat')

Запись таблицы в файл. The writetable функция использует кодировку по умолчанию системы при записи файлов. Результаты могут отличаться в зависимости от настроек системы. Чтобы изучить получившийся файл, прочитайте таблицу обратно в рабочую область с помощью readtable функция. Заметьте, что writetable не удалось записать столбцы (1 и 3), содержащие иноязычные символы.

writetable(T,'myTable.txt')
myTable = readtable('myTable.txt')
myTable=9×3 table
      A        B          C   
    _____    ______    _______

    ''     458.98    ''  
    ''     530.14    ''  
    ''      289.4    ''  
    ''      434.81    ''
    ''    186.44    '' 
    ''           0    ''   
    ''      231.29    ''
    ''      311.86    ''
    ''     239.93    ''   

Если ваша таблица содержит иностранный язык или символы, отличные от ASCII, необходимо использовать 'Encoding' параметр, чтобы убедиться, что ваши данные записаны правильно. Задайте 'Encoding' на 'UTF-8' который поддерживает широкую область значений иностранных и не-ASCII символов. Чтобы изучить получившийся файл, прочитайте таблицу обратно в рабочую область с помощью readtable функция. При правильном параметре кодирования writetable функция успешно записывает данные.

writetable(T,'myTable_UTF8.txt','Encoding','UTF-8')
myTable_UTF8 = readtable('myTable_UTF8.txt','Encoding','UTF-8')
myTable_UTF8=9×3 table
       A         B            C     
    _______    ______    ___________

    '南西'     458.98    '冬の嵐'    
    '南東'     530.14    '冬の嵐'    
    '南東'      289.4    '冬の嵐'    
    '西'       434.81    '機器の故障' 
    '中西部'    186.44    '深刻な嵐'  
    '西'            0    '攻撃'      
    '西'       231.29    '機器の故障' 
    '西'       311.86    '機器の故障' 
    '北東'     239.93    '火災'      

Составьте таблицу.

T = table(['M';'F';'M'],[45;41;36],...
    {'New York, NY';'San Diego, CA';'Boston, MA'},[true;false;false])
T=3×4 table
    Var1    Var2          Var3           Var4 
    ____    ____    _________________    _____

     M       45     {'New York, NY' }    true 
     F       41     {'San Diego, CA'}    false
     M       36     {'Boston, MA'   }    false

Запись таблицы в разделенный запятыми текстовый файл с именем myData.csv и просмотрите содержимое файла. Используйте 'QuoteStrings' аргумент пары "имя-значение", чтобы убедиться, что запятые в третьем столбце не рассматриваются как разделители.

writetable(T,'myData.csv','Delimiter',',','QuoteStrings',true)
type 'myData.csv'
Var1,Var2,Var3,Var4
"M",45,"New York, NY",1
"F",41,"San Diego, CA",0
"M",36,"Boston, MA",0

Составьте таблицу.

T = table(['M';'F';'M'],[45 45;41 32;40 34],...
    {'NY';'CA';'MA'},[true;false;false])
T=3×4 table
    Var1      Var2       Var3     Var4 
    ____    ________    ______    _____

     M      45    45    {'NY'}    true 
     F      41    32    {'CA'}    false
     M      40    34    {'MA'}    false

Запись таблицы в электронную таблицу с именем myData.xls. Включите данные на первом листе в области 5 на 5 с углами в B2 и F6. Можно изменить лист для записи, задав индекс, соответствующий листу.

writetable(T,'myData.xls','Sheet',1,'Range','B2:F6')

Excel ® заполняет строку электронной таблицы из B6 на F6 с #N/A поскольку заданная область значений больше, чем размер входа таблицы T.

Можно записать табличные данные, содержащие имена переменных, которые имеют любые символы, включая пространства и символы, отличные от ASCII. Создайте таблицу с произвольными именами переменных и запишите таблицу в текстовый файл. Затем считайте табличные данные назад с сохранением исходных имен переменных.

Создайте таблицу, содержащую три переменные с произвольными именами переменных. Первые и третьи имена переменных содержат пространства и не ASCII символы.

LastName = {'Sanchez';'Johnson';'Li';'Diaz';'Brown'};
Age = [38;43;38;40;49];
Smoker = logical([1;0;1;0;1]);
varNames = {'Last Name','Age','Smoker (1 or 0)'};
T = table(LastName,Age,Smoker,'VariableNames',varNames)
T=5×3 table
     Last Name     Age    Smoker (1 or 0)
    ___________    ___    _______________

    {'Sanchez'}    38          true      
    {'Johnson'}    43          false     
    {'Li'     }    38          true      
    {'Diaz'   }    40          false     
    {'Brown'  }    49          true      

Запишите данные в файл 'sampletable.txt'.

writetable(T,'sampletable.txt')

Чтение табличных данных назад с помощью readtable. По умолчанию MATLAB ® преобразует все имена переменных, которые включают пространства и символы, отличные от ASCII, в действительные идентификаторы MATLAB ®. Например, MATLAB ® преобразует имена переменных 'Last Name' на 'LastName', и 'Smoker (1 or 0)' на 'Smoker_1or0_'. Чтобы считать табличные данные при сохранении имен переменных, установите 'VariableNamingRule' параметр в preserve.

T_preserve = readtable('sampletable.txt',"VariableNamingRule","preserve")
T_preserve=5×3 table
     Last Name     Age    Smoker (1 or 0)
    ___________    ___    _______________

    {'Sanchez'}    38            1       
    {'Johnson'}    43            0       
    {'Li'     }    38            1       
    {'Diaz'   }    40            0       
    {'Brown'  }    49            1       

Добавьте данные как новую строку в нижнюю часть таблицы с существующими данными.

Составьте таблицу.

InsectSpecies = {'Monarch Butterfly';'Seven-spot Ladybird';'Orchid Mantis';...
    'American Bumblebee';'Blue Dasher Dragonfly'};
InsectOrder = {'Lepidoptera';'Coleoptera';'Mantodea';'Hymenoptera';'Odonata'};
InsectFamily = {'Nymphalidae';'Coccinellidae';'Hymenopodidae';...
    'Apidae';'Libellulidae'};
PredatoryInsect = logical([0;1;1;0;1]); 

T = table(InsectSpecies,InsectOrder,InsectFamily,PredatoryInsect)
T=5×4 table
          InsectSpecies            InsectOrder        InsectFamily       PredatoryInsect
    _________________________    _______________    _________________    _______________

    {'Monarch Butterfly'    }    {'Lepidoptera'}    {'Nymphalidae'  }         false     
    {'Seven-spot Ladybird'  }    {'Coleoptera' }    {'Coccinellidae'}         true      
    {'Orchid Mantis'        }    {'Mantodea'   }    {'Hymenopodidae'}         true      
    {'American Bumblebee'   }    {'Hymenoptera'}    {'Apidae'       }         false     
    {'Blue Dasher Dragonfly'}    {'Odonata'    }    {'Libellulidae' }         true      

Запишите таблицу T в текстовый файл с именем InsectCollection.txt.

writetable(T,'InsectCollection.txt','WriteRowNames',true) 

Создайте новые данные в форме таблицы для добавления к существующей таблице.

newInsect = table({'Red-banded leafhopper'},{'Hemiptera'},{'Cicadellidae'},logical([0]))
newInsect=1×4 table
              Var1                   Var2               Var3          Var4 
    _________________________    _____________    ________________    _____

    {'Red-banded leafhopper'}    {'Hemiptera'}    {'Cicadellidae'}    false

Добавление newInsect на InsectCollection.txt использование 'WriteMode','Append' аргумент пары "имя-значение".

writetable(newInsect,'InsectCollection.txt','WriteMode','Append',...
    'WriteVariableNames',false,'WriteRowNames',true)  

Прочитайте таблицу обратно в рабочую область.

readtable('InsectCollection.txt')
ans=6×4 table
          InsectSpecies            InsectOrder        InsectFamily       PredatoryInsect
    _________________________    _______________    _________________    _______________

    {'Monarch Butterfly'    }    {'Lepidoptera'}    {'Nymphalidae'  }           0       
    {'Seven-spot Ladybird'  }    {'Coleoptera' }    {'Coccinellidae'}           1       
    {'Orchid Mantis'        }    {'Mantodea'   }    {'Hymenopodidae'}           1       
    {'American Bumblebee'   }    {'Hymenoptera'}    {'Apidae'       }           0       
    {'Blue Dasher Dragonfly'}    {'Odonata'    }    {'Libellulidae' }           1       
    {'Red-banded leafhopper'}    {'Hemiptera'  }    {'Cicadellidae' }           0       

Сохраните существующие ширины столбцов файла электронной таблицы при добавлении данных в нижнюю часть файла.

Создайте переменные рабочей области с текстовыми данными, а затем создайте таблицу как контейнер для переменных.

state = {'Massachussetts';'California';'Minnesota';'Virginia'};
stateFlower = {'Trailing arbutus';'Golden Poppy';'Pink and White Lady''s Slipper';'Flowering dogwood'};
stateBird = {'Black-capped chickadee';'California Valley Quail';'Common Loon';'Cardinal'};
data = table(state,stateFlower,stateBird);

Запись таблицы в файл электронной таблицы с именем states_funfacts.xlsx.

writetable(data,'state_funfacts.xlsx')

Создайте другую таблицу текстовых данных.

t = table({'Maryland';'New York'},{'Black-eyed Susan';'Rose'},{'Baltimore oriole';'Eastern bluebird'});

Добавьте таблицу к существующему файлу электронной таблицы. Задайте 'AutoFitWidth' как false для сохранения существующих ширин столбцов электронной таблицы.

writetable(t,'state_funfacts.xlsx',"WriteMode","append","AutoFitWidth",false);

Если вы задаете 'AutoFitWidth' как true вместо false, затем writetable будет настраивать ширины столбцов электронной таблицы в соответствии с записываемыми данными вместо сохранения исходных ширин столбцов.

Редактировать строки в существующем файле электронной таблицы, не сохраняя форматирование камер электронной таблицы.

Файл электронной таблицы student_grades.xlsx содержит форматированные камеры. Все камеры заполнены цветом и имеют границы, а камеры заголовка имеют полужирный шрифт.

Составьте таблицу с текстом и числовыми данными.

Student = {'Mary';'John'};
Grade = [95;87];
t = table(Student,Grade)
t=2×2 table
    Student     Grade
    ________    _____

    {'Mary'}     95  
    {'John'}     87  

Обновите существующий файл электронной таблицы таблицей входных данных. Задайте 'PreserveFormat' как false чтобы игнорировать существующее форматирование камер файла электронной таблицы. Когда вы делаете это, student_grades.xlsx изменяется следующим образом.

writetable(t,'student_grades.xlsx','PreserveFormat',false);

Если вы задаете 'PreserveFormat' как true вместо false при записи данных в существующий файл электронной таблицы, writetable сохраняет существующее форматирование камер электронной таблицы.

writetable(t,'student_grades.xlsx','PreserveFormat',true);

Составьте таблицу данных, а затем запишите ее в XML- файл. Настройка writetable записывает данные таблицы в XML- файл путем определения дополнительных аргументов имя-значение.

Составьте таблицу данных.

InsectSpecies = {'Monarch Butterfly';'Seven-spot Ladybird';'Orchid Mantis'; ...
    'American Bumblebee';'Blue Dasher Dragonfly'};
InsectOrder = {'Lepidoptera';'Coleoptera';'Mantodea';'Hymenoptera';'Odonata'};
InsectFamily = {'Nymphalidae';'Coccinellidae';'Hymenopodidae'; ...
    'Apidae';'Libellulidae'};
PredatoryInsect = logical([0;1;1;0;1]); 

T = table(InsectOrder,InsectFamily,PredatoryInsect);
T.Properties.RowNames = InsectSpecies;
head(T,5)
ans=5×3 table
                               InsectOrder        InsectFamily       PredatoryInsect
                             _______________    _________________    _______________

    Monarch Butterfly        {'Lepidoptera'}    {'Nymphalidae'  }         false     
    Seven-spot Ladybird      {'Coleoptera' }    {'Coccinellidae'}         true      
    Orchid Mantis            {'Mantodea'   }    {'Hymenopodidae'}         true      
    American Bumblebee       {'Hymenoptera'}    {'Apidae'       }         false     
    Blue Dasher Dragonfly    {'Odonata'    }    {'Libellulidae' }         true      

Напишите таблицу T на XML- файл, вызываемый InsectCollection.xml. Задайте 'WriteRowNames' как true для записи имен строк таблицы. Имена строк отображаются как поля, принадлежащие Row узел элемента в выход XML- файл.

Настройте имена узлов в XML- файле путем определения 'Insect' как значение 'RowNodeName'.

writetable(T,'InsectCollection.xml',"WriteRowNames",false,"RowNodeName","Insect")

Отобразите содержимое файла InsectCollection.xml.

type InsectCollection.xml
<?xml version="1.0" encoding="UTF-8"?>
<table>
    <Insect>
        <InsectOrder>Lepidoptera</InsectOrder>
        <InsectFamily>Nymphalidae</InsectFamily>
        <PredatoryInsect>false</PredatoryInsect>
    </Insect>
    <Insect>
        <InsectOrder>Coleoptera</InsectOrder>
        <InsectFamily>Coccinellidae</InsectFamily>
        <PredatoryInsect>true</PredatoryInsect>
    </Insect>
    <Insect>
        <InsectOrder>Mantodea</InsectOrder>
        <InsectFamily>Hymenopodidae</InsectFamily>
        <PredatoryInsect>true</PredatoryInsect>
    </Insect>
    <Insect>
        <InsectOrder>Hymenoptera</InsectOrder>
        <InsectFamily>Apidae</InsectFamily>
        <PredatoryInsect>false</PredatoryInsect>
    </Insect>
    <Insect>
        <InsectOrder>Odonata</InsectOrder>
        <InsectFamily>Libellulidae</InsectFamily>
        <PredatoryInsect>true</PredatoryInsect>
    </Insect>
</table>

Если вы не задаете WriteRowNames как true, writetable пропускает запись имен строк таблицы в файл.

Входные параметры

свернуть все

Входные данные, заданные как таблица.

Имя файла, заданное как вектор символов или строковый скаляр.

В зависимости от места, в котором вы пишете, filename может принять одну из этих форм.

Местоположение

Форма

Текущая папка

Чтобы записать в текущую папку, укажите имя файла в filename.

Пример: 'myTextFile.csv'

Другие папки

Чтобы записать в папку, отличную от текущей папки, укажите полное или относительное имя пути в filename.

Пример: 'C:\myFolder\myTextFile.csv'

Пример: 'myFolder\myExcelFile.xlsx'

Удаленное местоположение

Чтобы записать в удаленное место, filename должен содержать полный путь к файлу, заданному в качестве равномерного указателя ресурса (URL) формы:

scheme_name://path_to_file/ my_file.ext

Исходя из удаленного местоположения, scheme_name может быть одним из значений в этой таблице.

Удаленное местоположениеscheme_name
Амазонки S3™s3
Windows Azure® Хранилище больших двоичных объектовwasb, wasbs
HDFS™hdfs

Для получения дополнительной информации см. раздел Работа с удаленными данными.

Пример: 's3://bucketname/path_to_file/my_file.xlsx'

  • Если filename включает расширение файла, затем функция записи определяет формат файла из расширения. В противном случае функция записи создает текстовый файл, разделенный запятыми, и добавляет расширение .txt. Также можно задать filename без расширения файла, а затем включите 'FileType' аргументы пары "имя-значение" для указания типа файла.

  • Если filename не существует, тогда функция записи создает файл.

  • Если filename - имя существующего текстового файла, затем функция записи перезаписывает файл.

  • Если filename является именем существующего файла электронной таблицы, затем функция записи записывает данные в указанное место, но не перезаписывает значения за пределами области значений входных данных.

Типы данных: char | string

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'WriteVariableNames',false указывает, что имена переменных не должны быть включены в качестве первой строки выхода файла.
Все поддерживаемые типы файлов

свернуть все

Индикатор записи имен строк, заданный как разделенная разделенными запятой парами, состоящая из 'WriteRowNames' и любой из них false или true.

Индикатор

Поведение

false

writetable не включает имена строк из T в выходе. Это поведение по умолчанию.

true

Для текста и файлов электронной таблицы, writetable включает имена строк из T в качестве первого столбца выхода.

Если оба 'WriteVariableNames' и 'WriteRowNames' логические индикаторы true, затем writetable использует первое имя размерности из свойства T.Properties.DimensionNames как заголовок столбца для первого столбца выхода.

Для XML- файлов, writetable записывает имена строк таблицы входа как первый узел атрибута на каждом из узлов строк и использует первое имя размерности из свойства T.Properties.DimensionNames как имя узла атрибута.

Локаль для записи дат, заданная как разделенная разделенными запятой парами, состоящая из 'DateLocale' и вектор символов или строковый скаляр. При записи datetime значения в файл, используйте DateLocale для определения локали, в которой writetable писать имена месяцев и дней недели и сокращений. Векторы символов или строка принимает форму xx_ YY, где xx является строчным двухбуквенным кодом ISO 639-1, указывающим на язык, и YY - заглавный код ISO 3166-1 альфа-2, указывающий страну. Список общих значений для локали см. в Locale аргумент пары "имя-значение" для datetime функция.

Функция записи игнорирует 'DateLocale' значение параметров всякий раз, когда даты могут быть записаны как даты в формате Excel.

Пример: 'DateLocale','ja_JP'

Типы данных: char | string

Тип файла, заданный как разделенная разделенными запятой парами, состоящая из 'FileType' и вектор символов или строка, содержащая 'text', 'spreadsheet', или 'xml'.

The 'FileType' Пары "имя-значение" должны использоваться с filename входной параметр. Вам не нужно указывать 'FileType' аргумент пары "имя-значение", если filename входной параметр включает стандартное расширение файла. Следующие стандартные расширения файлов распознаются функцией записи:

  • .txt, .dat, или .csv для текстовых файлов с разделителями

  • .xls, .xlsm, или .xlsx для файлов электронной таблицы Excel

  • .xlsb для файлов электронной таблицы Excel, поддерживаемых в системах с Excel для Windows

  • .xml для XML- файлы.

Пример: 'FileType','spreadsheet'

Типы данных: char | string

Текст и Файлы электронной таблицы

свернуть все

Индикатор записи имен переменных в качестве заголовков столбца, заданный как разделенная разделенными запятой парами, состоящая из 'WriteVariableNames' и любой из них true или false.

Индикатор

Поведение

true

Функция записи включает имена переменных в качестве заголовков столбца выхода. Это поведение по умолчанию.

false

Функция записи не включает имена переменных в выход.

Режим записи, заданный как разделенная разделенными запятой парами, состоящая из 'WriteMode' и вектор символов или строковый скаляр. Выберите режим записи на основе типа файла.

Тип файла

Режим записи

Текстовые файлы

  • 'overwrite' (по умолчанию) - перезаписать файл.

  • 'append' - Добавить данные к файлу.

Если заданный вами файл не существует, то функция записи создает и записывает данные в новый файл.

Файлы электронной таблицы

  • 'inplace' (по умолчанию) - Обновляйте только диапазон, занимаемый входными данными. Функция записи не изменяет никаких данных за пределами области значений, занимаемой входными данными.

    • Если вы не задаете лист, то функция записи записывает на первый лист.

  • 'overwritesheet' - Очистить указанный лист и записать входные данные на очищенный лист.

    • Если вы не задаете лист, то функция записи очищает первый лист и записывает на него входные данные.

  • 'append' - функция записи добавляет входные данные к нижней части занятой области значений заданного листа.

    • Если вы не задаете лист, то функция записи добавляет входные данные к нижней части занятой области значений первого листа.

  • 'replacefile' - Удалите все другие листы из файла, затем очистите и запишите входные данные на указанный лист.

    • Если вы не задаете лист, то функция записи удаляет все другие листы из файла, а затем очищает и записывает входные данные на первый лист.

    • Если указанный вами файл не существует, функция записи создает новый файл и записывает входные данные на первый лист.

  • Когда WriteVariableNames установлено в trueфункция записи не поддерживает режим записи 'append'.

  • Для файлов электронной таблицы:

    • Когда режим записи 'append'функция записи не поддерживает Range параметр.

    • Если заданный вами файл не существует, то функция записи выполняет те же действия, что и 'replacefile'.

Пример: 'WriteMode','append'

Типы данных: char | string

Только текст и XML

свернуть все

Схема кодирования символов, сопоставленная с файлом, задается как разделенная разделенными запятой парами, состоящая из 'Encoding' и 'system' или стандартное имя схемы кодирования символов. Когда вы не задаете никакой кодировки, функция записи использует UTF-8 для записи файла.

Пример: 'Encoding','UTF-8' использует UTF-8 в качестве кодировки.

Типы данных: char | string

Текстовые файлы только

свернуть все

Символ разделителя полей, заданный как разделенная разделенными запятой парами, состоящая из 'Delimiter' и вектор символов или строковый скаляр, содержащий один из следующих спецификаторов:

Спецификатор

Разделитель полей

','

'comma'

Запятая. Это поведение по умолчанию.

' '

'space'

Пространство

'\t'

'tab'

Вкладка

';'

'semi'

Точка с запятой

'|'

'bar'

Вертикальный брус

Можно использовать 'Delimiter' Пара "имя-значение" только для текстовых файлов с разделителями.

Пример: 'Delimiter','space'

Типы данных: char | string

Индикатор записи цитируемого текста, заданный как разделенная разделенными запятой парами, состоящая из 'QuoteStrings' и любой из них false или true. Если 'QuoteStrings' является true, затем функция записи заключает текст в двойные кавычки и заменяет любые символы с двойной кавычкой, которые появляются как часть этого текста, два символов с двойной кавычкой.

Можно использовать 'QuoteStrings' Пара "имя-значение" только с разделителями текстовых файлов.

Только файлы электронной таблицы

свернуть все

Лист для записи, заданный как разделенная разделенными запятой парами, состоящая из 'Sheet' и вектор символов или строковый скаляр, содержащий имя листа или положительное целое число, указывающее индекс листа. Имя листа не может содержать двоеточие (:). Для определения имен листов в файле электронной таблицы используйте sheets = sheetnames(filename). Для получения дополнительной информации см. sheetnames.

Укажите лист для записи по имени или индексу:

  • name - Если заданное имя листа не существует в файле, функция записи добавляет новый лист в конец набора листов.

  • индекс - если заданный индекс листа является индексом, большим, чем количество листов, то функция записи добавляет пустые листы, пока количество листов в книге не равняется индексу листа. Функция записи также генерирует предупреждение, указывающее, что она добавила новый лист.

Можно использовать 'Sheet' Пара "имя-значение" только с файлами электронной таблицы.

Пример: 'Sheet', 2

Пример: 'Sheet', 'MySheetName'

Типы данных: char | string | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Прямоугольный фрагмент листа для записи, заданная как разделенная разделенными запятой парами, состоящая из 'Range' и вектор символов или строковый скаляр в одной из следующих форм.

Форма значения Range Описание
'Corner1'

Corner1 задает первую камеру области, которую нужно записать. Функция записи записывает данные, начиная с этой камеры.

Пример: 'Range','D2'

'Corner1:Corner2'

Corner1 и Corner2 являются двумя противоположными углами, которые определяют область для записи. Для примера, 'D2:H4' представляет прямоугольную область 3 на 5 между двумя углами D2 и H4 на листе. The 'Range' аргумент пары "имя-значение" не чувствителен к регистру и использует стиль ссылки A1 Excel (см. справку Excel).

Пример: 'Range','D2:H4'

  • Если область значений, которую вы задаете, меньше, чем размер входных данных, то функция записи записывает только подмножество входных данных, которое помещается в область значений.

  • Если области значений, которую вы задаете, больше, чем размер входных данных, то функция записи оставляет оставшуюся часть области такой, какая она есть.

The 'Range' пара "имя-значение" может использоваться только с файлами Excel.

Пример: 'Range', 'A1:F10'

Типы данных: char | string

Флаг для запуска образца Microsoft® Excel для Windows при записи данных электронных таблиц, заданных как разделенная разделенными запятой парами, состоящая из 'UseExcel' и любой из них true, или false.

Можно задать 'UseExcel' параметр к одному из следующих значений:

  • true - функция записи запускает образец Microsoft Excel при записи файла.

  • false - Функция записи не запускает образец Microsoft Excel при записи файла. При работе в этом режиме функциональность для записи отличается поддержкой форматов файлов и интерактивных функций, таких как формулы и макросы.

UseExcel

true

false

Поддерживаемые форматы файлов

.xls, .xlsx, .xlsm, .xltx, .xltm, .xlsb, .ods

.xls, .xlsx, .xlsm, .xltx, .xltm

Поддержка интерактивных функций, таких как формулы и макросы

Да

Нет

При записи в файлы электронной таблицы на платформах Windows, если необходимо запустить образец Microsoft Excel, установите 'UseExcel' параметр в true.

Автоматическая настройка ширины столбца, заданная как true или false. Если вы задаете значение 0 или false, затем writetable не будет автоматически настраивать ширины столбцов в соответствии с данными камерами.

Пример: 'AutoFitWidth', 0

Сохраните форматирование камер существующей электронной таблицы, заданное как true или false. Если вы задаете false, writetable не сохраняет камеры форматирование электронной таблицы. Форматирование включает такие элементы, как шрифты, границы камер и затененные цветом камеры.

При записи datetime данные в файл электронной таблицы, необходимо задать оба 'PreserveFormat' и 'UseExcel' Пара "имя-значение" с true для сохранения существующего форматирования камер. Если 'UseExcel' установлено в false и 'PreserveFormat' установлено в true при записи datetime данные в файл, writetable не сохраняет существующее форматирование камер файла.

Пример: 'PreserveFormat', false

Только XML- Файлы

свернуть все

Суффикс атрибута, заданный как разделенная разделенными запятой парами, состоящая из 'AttributeSuffix' и векторы символов или строковый скаляр, указывающий, какие имена переменных в вход таблице записывать как атрибуты в выход XML- файл.

Для примера, для имени переменной AttName_att в вход таблице можно задать 'AttributeSuffix','_att' чтобы указать, что 'AttName' должен быть записан как атрибут в выход XML- файл.

  • Если вы не задаете 'AttributeSuffix', writetable по умолчанию используется запись переменных с помощью суффикса 'Attribute' как атрибуты в выход XML- файл.

  • Если атрибут задан как значение 'AttributeSuffix' соответствует суффиксу, добавленному к имени переменной в вход таблице, суффикс будет удален из имени переменной в выход XML- файла. Для примера, если вы задаете 'AttributeSuffix','_att', переменная в вход таблице с именем MyField_att будет соответствовать атрибуту с именем MyField в XML- файл.

Пример: 'AttributeSuffix','_att'

Имя узла строки XML, заданное как разделенная запятой пара, состоящее из 'RowNodeName' и вектор символов или строковый скаляр функции записи в качестве имени узла в выходе XML- файл, который соответствует строкам в вход таблице. Если вы не задаете RowNodeName, затем функция записи записывает 'row' как имя узлов строк в таблице выхода.

Пример: 'TableNodeName','RootName'

Имя корневого узла XML, заданное как разделенная разделенными запятой парами, состоящая из 'TableNodeName' и вектор символов или строковый скаляр функции записи в качестве имени корневого узла в выход XML- файл. Если вы не задаете TableNodeName, затем функция записи записывает 'table' как имя корневого узла в таблице выхода.

Пример: 'TableNodeName','RootName'

Ограничения

  • writetable не поддерживает запись вложенных таблиц. Использование splitvars во вложенной таблице для разделения многополюсных переменных на переменные с одним столбцом перед записью.

Совет

  • Создание пустых листов в файлах электронной таблицы: создайте пустой лист в файле электронной таблицы с помощью writetable путем написания пустой таблицы. Например, создайте пустой лист с именем 'MySheetName'.

    writetable(table(),'empty.xls','Sheet','MySheetName')
    Или создайте три пустых листа под названием 'Sheet1', 'Sheet2', и 'Sheet3'.
     writetable(table(),'empty.xls','Sheet',3)

Алгоритмы

  • Если оба 'WriteVariableNames' и 'WriteRowNames' логические индикаторы true, затем writetable функция использует первое имя размерности из свойства T.Properties.DimensionNames как заголовок столбца для первого столбца выхода.

  • Excel преобразует Inf значения в 65535. MATLAB® преобразует NaN, NaT, <undefined> категориальные значения и <missing> строковые значения в пустые камеры.

  • Для файлов Excel, writetable пишет table переменные, содержащие datetime массивы как даты Excel. Если на table содержит datetime массивы с годами до 1900 или 1904, затем writetable записывает переменные как текст. Для получения дополнительной информации о датах Excel смотрите https://support.microsoft.com/en-us/kb/214330.

  • Существуют некоторые образцы, когда writetable функция создает файл, который не представляет T точно. Вы заметите это, когда используете readtable для чтения этого файла. Получившаяся таблица может иметь не тот формат или содержимое, что и исходная таблица. Если необходимо сохранить таблицу и получить ее позже, чтобы точно соответствовать исходной таблице с теми же данными и организацией, сохраните ее как MAT-файл. writetable записывает неточную таблицу в следующих образцах:

    • При записи в текстовые файлы writetable выводит числовые переменные с помощью long g формат, и категориальные или символьные переменные в виде неквитируемых символов.

    • Для переменных с более чем одним столбцом, writetable добавляет уникальный идентификатор к имени переменной, используемой в качестве заголовков столбца.

    • Для выходных переменных, которые имеют больше двух размерности, writetable выводит эти переменные как двумерные, где последующие измерения свернуты. Для примера, writetable выводит переменную 4 на 3 на 2, как если бы ее размер был 4 на 6.

    • Для переменных с cell тип данных, writetable выводит содержимое каждой камеры в виде одной строки в нескольких полях. Если содержимое отличается от числового, логического, символьного или категориального, то writetable выводит одно пустое поле.

Введенный в R2013b