-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path(24)0값을 제거하고 파일 복붙_메인컴용
43 lines (32 loc) · 1.72 KB
/
(24)0값을 제거하고 파일 복붙_메인컴용
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
import shutil
year = ['2018', '2020']
for i in tqdm(year):
folder_path = f"G:/2024_활동지도/mask/reproject/{i}_indices_reproject"
destination_folder = f"H:/hls/{i}_reproject"
# 빈 리스트 생성 (모든 값이 0이거나 1.79e+308인 파일 저장용)
files_with_all_zero = []
# 폴더 내 모든 파일 확인
file_list = [f for f in os.listdir(folder_path) if f.endswith(".tif")]
# tqdm을 사용하여 진행 상황 표시
for file_name in tqdm(file_list, desc="Processing files"):
file_path = os.path.join(folder_path, file_name)
# 레스터 파일 읽기
try:
raster = rioxarray.open_rasterio(file_path)
# 1.79e+308 값을 제외한 나머지 값이 0인지 확인
valid_values = raster.values[raster.values != 1.79e+308] # 1.79e+308 값 제외
if valid_values.size == 0 or np.all(valid_values == 0): # 남은 값이 모두 0인지 확인
files_with_all_zero.append(file_name)
print(f"File with all zero values (excluding 1.79e+308): {file_name}") # 발견 시 출력
else:
# 값이 0이 아닌 파일은 복사
destination_path = os.path.join(destination_folder, file_name)
os.makedirs(destination_folder, exist_ok=True) # 대상 폴더가 없으면 생성
shutil.copy(file_path, destination_path)
except Exception as e:
print(f"Error reading file {file_name}: {e}")
# 데이터프레임으로 변환
df = pd.DataFrame(files_with_all_zero, columns=["File Name"])
# 데이터프레임 출력
print(df)
print("Copy completed!")