writetable

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

Описание

пример

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

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

Для 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

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

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

load('Table_Japanese_Characters.mat')

Запишите таблицу в файл. 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    ''   

Если ваша таблица содержит иностранный язык или символы non-ASCII, необходимо использовать 'Encoding' параметр, чтобы гарантировать ваши данные записан правильно. Установите 'Encoding' к 'UTF-8' который поддерживает широкий спектр символов non-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.

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

Составьте таблицу, содержащую три переменные с произвольными именами переменных. Первые и третьи имена переменных содержат символы non-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® преобразует любые имена переменных, которые включают пробелы и символы non-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-файлу путем определения дополнительных аргументов name-value.

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

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 как truewritetable пропуски, написавшие имена строки таблицы к файлу.

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

свернуть все

Входные данные в виде таблицы.

Имя файла в виде вектора символов или строкового скаляра.

В зависимости от местоположения вы пишете в, 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
Amazon 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 имя аргумента и 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'.

'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

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

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

FileType

Режим записи

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

  • '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' и любой true или false.

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

  • Если 'QuoteStrings' false, затем текст записан без изменения.

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

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

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

свернуть все

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

Задайте рабочий лист, чтобы записать в по наименованию или индекс:

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

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

Можно использовать '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 на рабочем листе. 'Range' аргумент пары "имя-значение" не является чувствительным к регистру, и использует стиль ссылки Excel A1 (см. справку Excel).

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

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

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

'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'ложь

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 значения к 65535MATLAB® преобразует NaNNAT, <undefined> категориальные значения и <missing> представьте значения в виде строки к пустым ячейкам.

  • Для файлов Excel, writetable записи table переменные, содержащие datetime массивы как даты Excel. Если table содержит datetime массивы с годами или до 1 900 или до 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
Для просмотра документации необходимо авторизоваться на сайте