一、语法
1.语法1
writetable(T) 将表 T 写入逗号分隔的文本文件。
文件名为表的工作区变量名称,附加扩展名 .txt。如果 writetable 无法根据输入表名称构造文件名,那么它会写入 table.txt 文件中。
对于文本文件和电子表格文件,T 中每个变量的每列都成为输出文件中的一列。T 的变量名称将成为文件第一行的列标题。
对于 XML 文件,T 中的每列都成为输出文件中的一个 XML 节点。T 的变量名称成为输出 XML 文件中元素节点的名称。
2.语法2
writetable(T,filename) 写入具有 filename 指定的名称和扩展名的文件。
扩展名必须是下列格式之一:
.txt、.dat 或 .csv(带分隔符的文本文件)
.xls、.xlsm 或 .xlsx(适用于 Excel 电子表格文件)
.xlsb(适用于安装了 Windows® Excel 的系统上支持的 Excel 电子表格文件)
.xml(可扩展标记语言 (XML) 文件)
3.语法3
writetable(___,Name,Value) 通过一个或多个 Name,Value 对组参数指定的其他选项将表写入文件中,并且可以包含以前语法中的任何输入参数。
以指定是否将变量名称写入为输出文件中的列标题。
二、示例
1.示例1-将表写入到文本文件
创建一个表
T = table(['M';'F';'M'],[45 45;41 32;40 34],{'NY';'CA';'MA'},[true;false;false])
将表写入逗号分隔的文本文件,并显示文件内容。
writetable(T)
writetable 将输出名为 T.txt 的文本文件。
type 'T.txt'
writetable 会向变量名称 Var2 附加一个唯一的后缀(位于两列相应数据的上方)。
2.示例2-将表写入空格分隔的文本文件
创建一个表
T = table(['M';'F';'M'],[45 45;41 32;40 34],...
{'NY';'CA';'MA'},[true;false;false])
将表写入名为 myData.txt 的以空格分隔的文本文件并显示文件内容。
ritetable(T,'myData.txt','Delimiter',' ')
type 'myData.txt'
writetable 会向变量名称 Var2 附加一个唯一的后缀(位于两列相应数据的上方)。
3.示例3-将表写入包含行名称的文本文件
创建一个表
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 写入名为 myPatientData.dat 的逗号分隔的文本文件,并显示文件内容。
writetable(T,'myPatientData.dat','WriteRowNames',true)
type 'myPatientData.dat'
包含行名称的第一列的列标题为 Row。这是从属性 T.Properties.DimensionNames 获取的表的第一个维度名称。
4.示例4-将外语日期写入文本文件
将表中的英语日期转换为德语,并将表写入文件。
创建包含英语日期的 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)
将表写入一个文本文件。使用 DateLocale 名称-值对组参数将日期的区域设置指定为德语,并在文本文件中显示日期。
writetable(T,'myfile.txt','DateLocale','de_DE');
type myfile.txt
5.示例5-将外语字符写入文本文件
当数据包含外语或非 ASCII 字符时,请使用 encoding 参数以确保文件正确写入。首先,将提供的表加载到工作区。然后使用默认编码将该表写入文件。最后,使用 'UTF-8' 编码写入该表,并检查结果。
加载包含表 T 的 Table_Japanese_Characters.mat。下面显示了表的预览。请注意,该表包含两列日语字符。
load('Table_Japanese_Characters.mat')
将表写入一个文件。writetable 函数将使用系统默认编码编写文件。根据系统设置,结果可能有所不同。要检查生成的文件,请使用 readtable 函数将该表重新读取到工作区。请注意 writetable 未成功写入包含外语字符的列(第 1 列和第 3 列)。
writetable(T,'myTable.txt')
myTable = readtable('myTable.txt')
如果表包含外语或非 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')
6.示例6-将引用文本写入 CSV 文件
创建一个表
T = table(['M';'F';'M'],[45;41;36],...
{'New York, NY';'San Diego, CA';'Boston, MA'},[true;false;false])
将表写入一个名为 myData.csv 的逗号分隔的文本文件,并查看文件内容。使用 'QuoteStrings' 名称-值对组参数以确保第三列中的逗号不被视为分隔符。
writetable(T,'myData.csv','Delimiter',',','QuoteStrings',true)
type 'myData.csv'
7.示例7-将表写入到电子表格中特定的工作表和范围
创建一个表
T = table(['M';'F';'M'],[45 45;41 32;40 34],...
{'NY';'CA';'MA'},[true;false;false])
将表写入到名为 myData.xls 的电子表格中。将第一张电子表格中的数据包含在 5×5 的区域中,转角位于 B2 和 F6。可以通过指定对应于工作表的索引来更改要写入到的工作表。
writetable(T,'myData.xls','Sheet',1,'Range','B2:F6')
Excel® 使用 #N/A 填充电子表格的 B6 到 F6 行,因为指定的范围大于输入表 T 的大小。
8.示例8-写入包含任意变量名称的表格数据
可以写入包含变量名称的表格数据,变量名称可以包含任何字符(包括空格和非 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)
将数据写入文件 '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")
9.其他
datestr=['.\ExcelFiles\','DataTongJi_RPI_ZVW.xls'];
RangeNum=['A1:D2']; % 确定数据写入区域
writetable(T1,datestr,'Sheet','58955','Range',RangeNum, ...
'WriteVariableNames', false);
datestr:文件保存路径及文件名字;Sheet:更改表格名字;Range:写入数据范围;文章来源:https://www.toymoban.com/news/detail-404881.html
WriteVariableNames:是否写入变量名称。文章来源地址https://www.toymoban.com/news/detail-404881.html
到了这里,关于Matlab之将表写入文件函数writetable的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!