24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2749  |  回复: 11
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

yangyong177

木虫 (小有名气)

[求助] matlab求助:批量导入大量无规律excel文件,并按年月日合并数据已有2人参与

求助:各位大神们,小弟接触matlab不久,菜鸟一名,请各位大神指导帮忙:1)如何批量导入大量命名无规律的excel文件,2)导入excel文件中各数据长度不一,如何按相同的日期合成一个文件。数据很多,无法完整上传。仅上传4个excel例子,请大家帮忙指导。
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : PSA287.xlsx
  • 2018-06-01 16:05:58, 44.52 K
  • 附件 2 : PSA447.xlsx
  • 2018-06-01 16:05:58, 37.58 K
  • 附件 3 : PSA546.xlsx
  • 2018-06-01 16:05:58, 30.37 K
  • 附件 4 : PSA561.xlsx
  • 2018-06-01 16:05:59, 39.24 K

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

FMStation

至尊木虫 (知名作家)

【答案】应助回帖


jjdg: 金币+1, 感谢参与 2018-06-09 01:02:11
https://www.mathworks.com/help/matlab/ref/xlsread.html
CODE:
values = {1, 2, 3 ; 4, 5, 'x' ; 7, 8, 9};
headers = {'First','Second','Third'};
xlswrite('myExample.xlsx',[headers; values]);

filename = 'myExample.xlsx';
A = xlsread(filename)

filename = 'myExample.xlsx';
sheet = 1;
xlRange = 'B2:C3';
subsetA = xlsread(filename,sheet,xlRange)

filename = 'myExample.xlsx';
columnB = xlsread(filename,'B:B')

[num,txt,raw] = xlsread('myExample.xlsx')

https://www.mathworks.com/help/matlab/import_export/exporting-to-excel-spreadsheets.html
CODE:
load patients.mat
T = table(LastName,Age,Weight,Smoker);
T(1:5,:)

filename = 'patientdata.xlsx';
writetable(T,filename,'Sheet',1,'Range','D1')

writetable(T,filename,'Sheet',2,'WriteVariableNames',false)

» 本帖已获得的红花(最新10朵)

4楼2018-06-05 08:06:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

FMStation

至尊木虫 (知名作家)

★ ★
jjdg: 金币+2, 感谢参与 2018-06-09 01:02:25
1. 如何批量导入大量命名无规律的excel文件
CODE:
>> [n, files] = get_folder_content( 'c:/A123/', 'myEx', 0, '');

Folder contain files for further processing:
1 file: myEx01.xlsx
2 file: myEx0A.xlsx
3 file: myExCC1.xlsx
Number of listed files: 3

>> allFiles=strvcat(files.name)

allFiles =
myEx01.xlsx
myEx0A.xlsx
myExCC1.xlsx

>> allFiles(1,:)

ans =
myEx01.xlsx


%%%%%%%%%%%%%%%%%
       get_folder_content
%%%%%%%%%%%%%%%%%
% Function return the folder content filtered
% function [ n, datafiles ] = get_folder_content( directory, filepattern, filterout, fpattern)
%
% input:
% - directory
% - filepattern
% - filterout | 1 or 0
% - fpattern | not include files with this pattern
% fpattern is charracter array created by fpattern =
% char('string1', 'string2', ...,'stringn');
% or in case of one string fpattern = 'string';
%
% output:
% - n | number of files
% - datafiles | structure with datafiles
% datafiles(i).name -- sigle file name
% datafiles(i).fullname -- including full path
function [ n, datafiles ] = get_folder_content( directory, filepattern, filterout, fpattern)
%initialisation of the structure
datafiles(1).name = '';
datafiles(1).fullname = '';
if nargin <3,
filterout = 0;
end
tmpdir = dir([directory filepattern '*']);
nn = length(tmpdir);
%filtering not necessary files
cnt = 0;
display('Folder contain files for further processing:')
if filterout==1
[nstr s] = size(fpattern);
filter_flag = 0;
for i=1:nn
for st=1:nstr
S = regexp(tmpdir(i).name,fpattern(st,:));
if(isempty(S))
filter_flag=0;
else
filter_flag=1;
end
end
if(filter_flag==0)
% filter pattern not maching ... so this is correct file
cnt = cnt+1;
datafiles(cnt).name = tmpdir(i).name;
datafiles(cnt).fullname = [directory tmpdir(i).name];
else
%filter pattern matching
%display(['Filtering out: ' tmpdir(i).name ' file'])
end
end
else
for i=1:nn
datafiles(i).name = tmpdir(i).name;
datafiles(i).fullname = [directory tmpdir(i).name];
end
end
n = length(datafiles);
for i=1:n
display([ num2str(i) ' file: ' datafiles(i).name ])
end
display(['Number of listed files: ' num2str(n)]);
return

» 本帖已获得的红花(最新10朵)

7楼2018-06-06 17:50:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

FMStation

至尊木虫 (知名作家)


jjdg: 金币+1, 感谢参与 2018-06-09 01:02:44
批量导入大量命名无规律的excel文件
按相同的日期sort
合成一个Big excel文件
CODE:
[files,folder] = uigetfile('*.xls','Select Files','MultiSelect','on');

N=[];
for i=1:numel(files)
myName=fullfile(folder,files{i})
A = xlsread(myName);
N = [N;A];
end

N2 = sortrows(N,[2,3,4]);
xlswrite('c:/myExample.xlsx',N2);

» 本帖已获得的红花(最新10朵)

9楼2018-06-07 19:55:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yangyong177 的主题更新
信息提示
请填处理意见