Matlab之将表写入文件函数writetable

您所在的位置:网站首页 matlab写ln函数 Matlab之将表写入文件函数writetable

Matlab之将表写入文件函数writetable

2023-04-03 11:25| 来源: 网络整理| 查看: 265

一、语法 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:写入数据范围;

WriteVariableNames:是否写入变量名称。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3