鱼C论坛

 找回密码
 立即注册
查看: 554|回复: 7

[已解决]matlab

[复制链接]
发表于 2024-5-22 15:30:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
matlab读取多个excel文件第四列数据并输出到另一个新的excel
最佳答案
2024-5-22 15:37:35
12345678zltsy 发表于 2024-05-22 15:35
错误使用 xlsread
无法激活 Excel 工作表。

出错  ...


对不起,看样子您遇到了一个无法激活 Excel 工作表的问题。这可能是由于您的电脑上没有安装 Microsoft Office 或者 MATLAB 无法与 Excel 进行交互所导致的。让我们尝试一个不需要激活 Excel 工作表的解决方案。

您可以尝试使用 `readmatrix` 函数来读取 Excel 文件中的数据。下面是更新后的代码:

  1. % 设置Excel文件所在文件夹路径
  2. folderPath = 'path/to/excel/folder/';

  3. % 获取文件夹下的所有Excel文件
  4. fileList = dir(fullfile(folderPath, '*.xlsx'));  % 只获取后缀为.xlsx的文件,可以根据实际情况更改

  5. % 创建一个空的矩阵来存储所有数据
  6. allData = [];

  7. % 循环处理每个Excel文件
  8. for i = 1:length(fileList)
  9.     % 构建文件的完整路径
  10.     filePath = fullfile(folderPath, fileList(i).name);
  11.    
  12.     % 读取第四列数据
  13.     dataColumn = readmatrix(filePath);
  14.     dataColumn = dataColumn(:, 4);
  15.    
  16.     % 将数据合并到allData中
  17.     allData = [allData; dataColumn];
  18. end

  19. % 创建新的Excel文件并将数据写入其中
  20. newFilePath = 'path/to/new_excel.xlsx';
  21. xlswrite(newFilePath, allData);
复制代码


请确保将 `folderPath` 更改为实际的文件夹路径,并将 `newFilePath` 更改为新的 Excel 文件路径。此代码将读取指定文件夹下的所有 Excel 文件中的第四列数据,并将数据合并到一个矩阵中,然后将数据写入一个新的 Excel 文件中。这种方法不需要激活 Excel 工作表,可以解决无法激活工作表的问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2024-5-22 15:31:07 | 显示全部楼层
在MATLAB中,您可以使用`xlsread`函数读取Excel文件中的数据,并使用`xlswrite`函数将数据写入新的Excel文件。要读取多个Excel文件,您需要在一个循环中执行这些操作。下面是一个示例代码:

  1. % 设置要读取的多个Excel文件的路径
  2. filePaths = {'path1/excel1.xlsx', 'path2/excel2.xlsx', 'path3/excel3.xlsx'};

  3. % 创建一个空的单元格数组来存储所有数据
  4. allData = cell(0);

  5. % 循环处理每个Excel文件
  6. for i = 1:length(filePaths)
  7.     % 读取第四列数据
  8.     [~, ~, rawData] = xlsread(filePaths{i});
  9.     dataColumn = rawData(:, 4);
  10.    
  11.     % 将数据添加到allData中
  12.     allData = [allData; dataColumn];
  13. end

  14. % 创建新的Excel文件并将数据写入其中
  15. newFilePath = 'path/to/new_excel.xlsx';
  16. xlswrite(newFilePath, allData);
复制代码


请确保将`filePaths`更改为实际的Excel文件路径,并将`newFilePath`更改为新的Excel文件路径。此代码将读取指定路径下的多个Excel文件中的第四列数据,并将数据写入一个新的Excel文件中。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-22 15:32:01 | 显示全部楼层
FishC 发表于 2024-5-22 15:31
在MATLAB中,您可以使用`xlsread`函数读取Excel文件中的数据,并使用`xlswrite`函数将数据写入新的Excel文 ...

excel文件在同一个文件夹内
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-5-22 15:32:15 | 显示全部楼层
12345678zltsy 发表于 2024-05-22 15:32
excel文件在同一个文件夹内


如果所有的Excel文件都在同一个文件夹内,那么您可以使用`dir`函数获取该文件夹下的所有Excel文件,并在一个循环中逐个读取并处理这些文件。以下是一个更新后的示例代码:

  1. % 设置Excel文件所在文件夹路径
  2. folderPath = 'path/to/excel/folder/';

  3. % 获取文件夹下的所有Excel文件
  4. fileList = dir([folderPath '*.xlsx']);

  5. % 创建一个空的单元格数组来存储所有数据
  6. allData = cell(0);

  7. % 循环处理每个Excel文件
  8. for i = 1:length(fileList)
  9.     % 构建文件的完整路径
  10.     filePath = [folderPath fileList(i).name];
  11.    
  12.     % 读取第四列数据
  13.     [~, ~, rawData] = xlsread(filePath);
  14.     dataColumn = rawData(:, 4);
  15.    
  16.     % 将数据添加到allData中
  17.     allData = [allData; dataColumn];
  18. end

  19. % 创建新的Excel文件并将数据写入其中
  20. newFilePath = 'path/to/new_excel.xlsx';
  21. xlswrite(newFilePath, allData);
复制代码


请确保将`folderPath`更改为实际的文件夹路径,并将`newFilePath`更改为新的Excel文件路径。此代码将读取指定文件夹下的所有Excel文件中的第四列数据,并将数据写入一个新的Excel文件中。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-22 15:33:53 | 显示全部楼层
FishC 发表于 2024-5-22 15:32
如果所有的Excel文件都在同一个文件夹内,那么您可以使用`dir`函数获取该文件夹下的所有Excel文件,并 ...

错误使用 xlswrite
输入数组为空。

出错 sssssss (第 24 行)
xlswrite(newFilePath, allData);
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-5-22 15:34:08 | 显示全部楼层
12345678zltsy 发表于 2024-05-22 15:33
错误使用 xlswrite
输入数组为空。

出错 sssssss  ...


抱歉,我不小心漏掉了一个重要的步骤。在将数据写入新的Excel文件之前,我们需要将数据转换为一个矩阵格式。下面是更新后的代码:


% 设置Excel文件所在文件夹路径
folderPath = 'path/to/excel/folder/';

% 获取文件夹下的所有Excel文件
fileList = dir(fullfile(folderPath, '*.xlsx'));  % 只获取后缀为.xlsx的文件,可以根据实际情况更改

% 创建一个空的矩阵来存储所有数据
allData = [];

% 循环处理每个Excel文件
for i = 1:length(fileList)
    % 构建文件的完整路径
    filePath = fullfile(folderPath, fileList(i).name);
   
    % 读取第四列数据
    [~, ~, rawData] = xlsread(filePath);
    dataColumn = cell2mat(rawData(:, 4));
   
    % 将数据合并到allData中
    allData = [allData; dataColumn];
end

% 创建新的Excel文件并将数据写入其中
newFilePath = 'path/to/new_excel.xlsx';
xlswrite(newFilePath, allData);

请确保将`folderPath`更改为实际的文件夹路径,并将`newFilePath`更改为新的Excel文件路径。此代码将读取指定文件夹下的所有Excel文件中的第四列数据,并将数据合并到一个矩阵中,然后将数据写入一个新的Excel文件中。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-5-22 15:35:15 | 显示全部楼层
FishC 发表于 2024-5-22 15:34
抱歉,我不小心漏掉了一个重要的步骤。在将数据写入新的Excel文件之前,我们需要将数据转换为一个矩阵 ...

错误使用 xlsread
无法激活 Excel 工作表。

出错 sssssss (第 15 行)
    [~, ~, rawData] = xlsread(filePath);
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-5-22 15:37:35 | 显示全部楼层    本楼为最佳答案   
12345678zltsy 发表于 2024-05-22 15:35
错误使用 xlsread
无法激活 Excel 工作表。

出错  ...


对不起,看样子您遇到了一个无法激活 Excel 工作表的问题。这可能是由于您的电脑上没有安装 Microsoft Office 或者 MATLAB 无法与 Excel 进行交互所导致的。让我们尝试一个不需要激活 Excel 工作表的解决方案。

您可以尝试使用 `readmatrix` 函数来读取 Excel 文件中的数据。下面是更新后的代码:

  1. % 设置Excel文件所在文件夹路径
  2. folderPath = 'path/to/excel/folder/';

  3. % 获取文件夹下的所有Excel文件
  4. fileList = dir(fullfile(folderPath, '*.xlsx'));  % 只获取后缀为.xlsx的文件,可以根据实际情况更改

  5. % 创建一个空的矩阵来存储所有数据
  6. allData = [];

  7. % 循环处理每个Excel文件
  8. for i = 1:length(fileList)
  9.     % 构建文件的完整路径
  10.     filePath = fullfile(folderPath, fileList(i).name);
  11.    
  12.     % 读取第四列数据
  13.     dataColumn = readmatrix(filePath);
  14.     dataColumn = dataColumn(:, 4);
  15.    
  16.     % 将数据合并到allData中
  17.     allData = [allData; dataColumn];
  18. end

  19. % 创建新的Excel文件并将数据写入其中
  20. newFilePath = 'path/to/new_excel.xlsx';
  21. xlswrite(newFilePath, allData);
复制代码


请确保将 `folderPath` 更改为实际的文件夹路径,并将 `newFilePath` 更改为新的 Excel 文件路径。此代码将读取指定文件夹下的所有 Excel 文件中的第四列数据,并将数据合并到一个矩阵中,然后将数据写入一个新的 Excel 文件中。这种方法不需要激活 Excel 工作表,可以解决无法激活工作表的问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-19 22:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表