Matlab을 Python 변환 시 다른 폴더 파일 불러오는 법이 궁금합니다.
글쓴이: vanadius / 작성시간: 화, 2015/04/28 - 2:59오후
Matlab을 Python으로 변환하고 있습니다.
그런데.. 다음 부분에 대해 방법을 모르겠습니다.
Python 고수님들의 도움이 필요합니다.
제가 도저히 모르겠는 부분은 다른 폴더(Data) 내 해당 폴더 내 파일을 불러오는 부분입니다.
Data 폴더 내에는 2006, 2007, 2008 식으로 폴더가 있고 그 아래에는 연도와 날짜로된 파일들이 있습니다.
이 파일을 읽어오는 것입니다.
year = 2007; doy = 260;
cd(strcat('D:\Data\', num2str(year)));
AllSta = ls;
FindDOY = find(str2num(AllSta(:, 3:5)) == doy);
sta = AllSta(FindDOY+2, :);
cd(strcat('D:\Data2\'));
SitePos = importdata('site_pos3.txt');
AllSite = char(SitePos.textdata);
AllZHD0_Array = zeros(size(sta, 1), 24); AllZWD_Array = zeros(size(sta, 1), 24); AllZHD_Array = zeros(size(sta, 1), 24);
AllPR_Array = zeros(size(sta, 1), 24); AllZHDD_Array = zeros(size(sta, 1), 24);
for i = 1 : size(sta, 1)
FindSta = strmatch(sta(i, 7:10), AllSite, 'exact');
cd(strcat('D:\Data\', num2str(year)));
StaCoord(i, 1:4) = SitePos.data(FindSta, :);
TropData = load(sta(i, :));
for i2 = 0 : 23
FindTime = zeros(0);
FindTime = find(TropData(:, 1) == i2);
AllZHD0 = zeros(0); Rm0ZHD0 = zeros(0); AllZHD02 = zeros(0);
AllZHD0 = TropData(FindTime, 9);
if ~isempty(AllZHD0)
Rm0ZHD0 = find(AllZHD0);
AllZHD02 = AllZHD0(Rm0ZHD0);
else
AllZHD02 = nan;
endForums:


디렉토리 내에 파일 만 있다면 import
디렉토리 내에 파일 만 있다면
import os filenames = os.listdir('D:\Data\') for filename in filenames: filepath = os.path.join('D:\Data\', filename) data = open(filepath).read()만약에 디렉토리 내부를 재귀적으로 처리하려면
import os for root, dirnames, filenames in os.walk('D:\Data\'): for filename in filenames: filepath = os.path.join(root, filename) data = open(filepath).read()feel the gravity
Palsuet 님..감사합니다.
Palsuet 님..
많은 도움이 되었습니다. 감사합니다.
댓글 달기