-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcombineCSVFiles.m
46 lines (39 loc) · 1.43 KB
/
combineCSVFiles.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
function combineCSVFiles(inputDir, outputFile)
% combineCSVFiles - Ĺ?Ä…czy wszystkie pliki CSV z podkatalogĂłw w jeden plik CSV.
%
% SYNTAX:
% combineCSVFiles(inputDir, outputFile)
%
% INPUT:
% inputDir - Ścieżka do katalogu głównego, w którym należy szukać plików CSV
% outputFile - Nazwa wyjściowego pliku CSV
%
% PRZYKĹ?AD:
% combineCSVFiles('C:\dane', 'combined.csv')
% Wyszukiwanie wszystkich plików CSV w katalogu głównym i podkatalogach
filePattern = fullfile(inputDir, '**', '*.csv');
files = dir(filePattern);
% Sprawdzenie, czy znaleziono jakiekolwiek pliki CSV
if isempty(files)
disp('Nie znaleziono ĹĽadnych plikĂłw CSV.');
return;
end
% Inicjalizacja tabeli do przechowywania danych
combinedData = [];
% Przetwarzanie kaĹĽdego pliku CSV
for i = 1:length(files)
% Pobranie pełnej ścieżki do pliku CSV
filePath = fullfile(files(i).folder, files(i).name);
% Wczytanie danych z pliku CSV
data = readtable(filePath);
% Ĺ?Ä…czenie danych
if isempty(combinedData)
combinedData = data;
else
combinedData = [combinedData; data];
end
end
% Zapisanie połączonych danych do wyjściowego pliku CSV
writetable(combinedData, outputFile);
disp(['Dane zostały zapisane do pliku: ' outputFile]);
end