使用Excel文件中的数据创建新的Excel文件

时间:2015-10-16 05:24:13

标签: excel matlab

我的目标是计算Excel文件中数据的平均值,并将它们存储在新的Excel文件中。我不确定我是否正确使用了功能。

  • [numD, txtD] = xlsread('filename', 'sheet','xlrange')

    其中numD是数字数据,txtD是字符串数据

  • xlswrite(filename, dataA, sheet,'xlrange')

  • ~feof

  • fprintf(fidw,'string with data %d',dataIn);

我可以将变量名称“data”传递给计算均值吗?
“数据”是否需要用大括号括起来? “txtData”也一样吗?

txtData表示我想在我正在制作的新文件中使用的Excel文件的字符串值。

This is what I'm trying to create (image)

function [ ] = CIMISmeanAirQuality(fileNameIn,fileNameOut,sheetName,dataRange)

    [data,txtData] = xlsread('fileNameIn.xlsx','sheetName','dataRange');

    headers =(txtData);%if files have cell arrays of strings use this

    values = mean(data);% find the mean of data in columns

    xlswrite('fileNameOut.xlsx',[headers;values] ,'sheetName','A1:J2');

end

我的错误是由于代码不完整和/或没有正确保存Excel文件。但是Excel文件确实出现在我当前的MATLAB文件夹中。

Error using xlsread (line 128)
XLSREAD unable to open file 'fileNameIn.xlsx'.
File '/Users/kenziecampbell/Documents/MATLAB/fileNameIn.xlsx' not found.

Error in CIMISmeanAirQuality (line 18)
[data,txtData] = xlsread('fileNameIn.xlsx','sheetName','dataRange');

2 个答案:

答案 0 :(得分:0)

如果您想在matlab中使用.csv文件中的平均值,然后在新的Excel电子表格中进一步处理它,那么最好使用uiopen。

例如:我将以下数据作为prac_read_table.csv保存到我的Excel电子表格中。

(数据1) 五 10 12 12 12 12

(数据2) 8 8 8 8 8 8

(数据3) 34 25 43 65 29 63

(装置)15.66666667 14.33333333 21 28.33333333 16.33333333 27.66666667

然后,我去了matlab并输入了uiopen('C:\Users\Nicholas\Documents\MATLAB\prac_read_table.csv',1) 这会提示打开一个窗口,询问您要导入的内容。我只选择平均值,因为这就是你想要的。

然后将我的平均值保存到一个名为means的变量中,因为我已经将它作为excel中的副标题。

要将工具保存到新的Excel电子表格中,您可以使用已编写的xlswrite函数。

答案 1 :(得分:0)

如果您已经拥有.csv文件列中的资源,那么您只需调用指定的变量名称即可获得该资产清单。