반응형
두 경로(폴더/디렉토리)에 동일한 이름과 동일한 개수의 파일들이 있을 때, 각 파일의 용량을 나란히 비교해서 보는 사용자 함수를 만들어보자.
<목적>
API로 데이터를 받아서 파일 형태로 저장하면서 API 결과의 누락이 발생하는 경우가 있음.
이때 누락된 내용을 빼고 나머지 리턴값으로 파일을 무사히(?) 완성하게 되는데,
내용을 직접 확인하지 않고도 어떤 파일에서 문제가 발생했는지 한눈에 알아보기 위함.
<사용자 함수 코드 - 완성본>
compare_file_sizes <- function(path1, path2) {
# 파일 크기 단위 변환 함수
format_size <- function(bytes) {
abs_bytes <- abs(bytes)
sign <- ifelse(bytes < 0, "-", "")
if (abs_bytes < 1024) {
return(paste0(sign, round(abs_bytes, 1), "B"))
} else if (abs_bytes < 1024^2) {
return(paste0(sign, round(abs_bytes/1024, 1), "K"))
} else if (abs_bytes < 1024^3) {
return(paste0(sign, round(abs_bytes/1024^2, 1), "M"))
} else {
return(paste0(sign, round(abs_bytes/1024^3, 1), "G"))
}
}
# 경로명을 간단하게 변환 (마지막 디렉토리명 사용)
path1_name <- basename(path1)
path2_name <- basename(path2)
# 파일 목록 및 크기 가져오기
files1 <- file.info(list.files(path1, full.names = TRUE))
files2 <- file.info(list.files(path2, full.names = TRUE))
# 파일명만 추출
files1$filename <- basename(rownames(files1))
files2$filename <- basename(rownames(files2))
# 병합
result <- merge(files1[c("filename", "size")],
files2[c("filename", "size")],
by = "filename",
suffixes = c(paste0("_", path1_name), paste0("_", path2_name)))
# 변화량과 비율 계산
size1_col <- paste0("size_", path1_name)
size2_col <- paste0("size_", path2_name)
result$change <- result[[size2_col]] - result[[size1_col]]
result$change_pct <- round((result$change / result[[size1_col]]) * 100, 1)
# 크기 포맷팅
result$size1_fmt <- sapply(result[[size1_col]], format_size)
result$size2_fmt <- sapply(result[[size2_col]], format_size)
result$change_fmt <- sapply(result$change, format_size)
# 최종 결과 (동적 컬럼명)
final <- data.frame(
filename = result$filename,
stringsAsFactors = FALSE
)
final[[path1_name]] <- result$size1_fmt
final[[path2_name]] <- result$size2_fmt
final[["change"]] <- paste0(result$change_fmt, " (", ifelse(result$change_pct > 0, "+", ""), result$change_pct, "%)")
return(final[order(final$filename), ])
}
# 사용법
# compare_file_sizes("output/20250909", "output/20250910")
# 사용법
# compare_file_sizes()
<실 사용 예시>
- 완성본 이전의, path를 하드코딩한 함수 사용
- "아파트매매 실거래 상세 자료_202506.xlsx" 파일에서 전일 대비 마이너스 용량
> compare_file_sizes()
filename size_09 size_10 change
1 단독다가구 매매 실거래자료_202507.xlsx 292.3K 292.3K 5B (0%)
2 단독다가구 매매 실거래자료_202508.xlsx 225.2K 232.7K 7.5K (+3.3%)
3 단독다가구 매매 실거래자료_202509.xlsx 35.9K 42.8K 6.9K (+19.1%)
4 단독다가구 전월세 실거래자료_202507.xlsx 2.5M 2.5M 7.2K (+0.3%)
5 단독다가구 전월세 실거래자료_202508.xlsx 1.9M 1.9M 43.8K (+2.2%)
6 단독다가구 전월세 실거래자료_202509.xlsx 213K 264.4K 51.4K (+24.1%)
7 아파트 분양권전매 신고 자료_202507.xlsx 213.7K 214K 309B (+0.1%)
8 아파트 분양권전매 신고 자료_202508.xlsx 179.9K 183.4K 3.6K (+2%)
9 아파트 분양권전매 신고 자료_202509.xlsx 35K 42.9K 7.9K (+22.5%)
10 아파트 전월세 자료_202507.xlsx 7.1M 7.2M 80.4K (+1.1%)
11 아파트 전월세 자료_202508.xlsx 5.5M 5.6M 80.3K (+1.4%)
12 아파트 전월세 자료_202509.xlsx 860.7K 1M 200.6K (+23.3%)
13 아파트매매 실거래 상세 자료_202504.xlsx 6.8M 6.8M 457B (0%)
14 아파트매매 실거래 상세 자료_202505.xlsx 7.5M 7.5M 238B (0%)
15 아파트매매 실거래 상세 자료_202506.xlsx 8.8M 8.2M -643641B (-7%)
16 아파트매매 실거래 상세 자료_202507.xlsx 5.6M 5.6M 2.5K (0%)
17 아파트매매 실거래 상세 자료_202508.xlsx 4.7M 4.8M 106.4K (+2.2%)
18 아파트매매 실거래 상세 자료_202509.xlsx 763.5K 950K 186.5K (+24.4%)
19 아파트매매 실거래자료_202504.xlsx 4.1M 4.1M 355B (0%)
20 아파트매매 실거래자료_202505.xlsx 4.5M 4.5M 369B (0%)
21 아파트매매 실거래자료_202506.xlsx 5.3M 5.3M 2.4K (0%)
22 아파트매매 실거래자료_202507.xlsx 3.4M 3.4M 1.6K (0%)
23 아파트매매 실거래자료_202508.xlsx 2.9M 2.9M 64.9K (+2.2%)
24 아파트매매 실거래자료_202509.xlsx 465.5K 580K 114.5K (+24.6%)
25 연립다세대 매매 실거래자료_202507.xlsx 711.5K 711.9K 423B (+0.1%)
26 연립다세대 매매 실거래자료_202508.xlsx 580.3K 594.7K 14.4K (+2.5%)
27 연립다세대 매매 실거래자료_202509.xlsx 76.2K 97K 20.9K (+27.4%)
28 연립다세대 전월세 실거래자료_202507.xlsx 1.7M 1.7M -12686B (-0.7%)
29 연립다세대 전월세 실거래자료_202508.xlsx 1.3M 1.4M 26.1K (+1.9%)
30 연립다세대 전월세 실거래자료_202509.xlsx 193.7K 238.9K 45.2K (+23.3%)
31 오피스텔 매매 실거래자료_202507.xlsx 282.8K 283K 165B (+0.1%)
32 오피스텔 매매 실거래자료_202508.xlsx 215.3K 220.9K 5.5K (+2.6%)
33 오피스텔 매매 실거래자료_202509.xlsx 35.9K 38.9K 3K (+8.3%)
34 오피스텔 전월세 실거래자료_202507.xlsx 1.9M 1.9M 4.8K (+0.2%)
35 오피스텔 전월세 실거래자료_202508.xlsx 1.4M 1.5M 26.2K (+1.8%)
36 오피스텔 전월세 실거래자료_202509.xlsx 195.3K 232.8K 37.5K (+19.2%)
(추가 API 호출)
-전략 -
[1] "52730"
No Data : 전북특별자치도 장수군52740 (202506)
[1] "52750"
[1] "52770"
[1] "52790"
[1] "52800"
[1] "Done: output/APTprice/20250910/아파트매매 실거래 상세 자료_202506.xlsx has been saved."
OK : 아파트매매 실거래 상세 자료_202506
[1] 10
> compare_file_sizes()
filename size_09 size_10 change
1 단독다가구 매매 실거래자료_202507.xlsx 292.3K 292.3K 5B (0%)
2 단독다가구 매매 실거래자료_202508.xlsx 225.2K 232.7K 7.5K (+3.3%)
3 단독다가구 매매 실거래자료_202509.xlsx 35.9K 42.8K 6.9K (+19.1%)
4 단독다가구 전월세 실거래자료_202507.xlsx 2.5M 2.5M 7.2K (+0.3%)
5 단독다가구 전월세 실거래자료_202508.xlsx 1.9M 1.9M 43.8K (+2.2%)
6 단독다가구 전월세 실거래자료_202509.xlsx 213K 264.4K 51.4K (+24.1%)
7 아파트 분양권전매 신고 자료_202507.xlsx 213.7K 214K 309B (+0.1%)
8 아파트 분양권전매 신고 자료_202508.xlsx 179.9K 183.4K 3.6K (+2%)
9 아파트 분양권전매 신고 자료_202509.xlsx 35K 42.9K 7.9K (+22.5%)
10 아파트 전월세 자료_202507.xlsx 7.1M 7.2M 80.4K (+1.1%)
11 아파트 전월세 자료_202508.xlsx 5.5M 5.6M 80.3K (+1.4%)
12 아파트 전월세 자료_202509.xlsx 860.7K 1M 200.6K (+23.3%)
13 아파트매매 실거래 상세 자료_202504.xlsx 6.8M 6.8M 457B (0%)
14 아파트매매 실거래 상세 자료_202505.xlsx 7.5M 7.5M 238B (0%)
15 아파트매매 실거래 상세 자료_202506.xlsx 8.8M 8.8M 3.8K (0%)
16 아파트매매 실거래 상세 자료_202507.xlsx 5.6M 5.6M 2.5K (0%)
17 아파트매매 실거래 상세 자료_202508.xlsx 4.7M 4.8M 106.4K (+2.2%)
18 아파트매매 실거래 상세 자료_202509.xlsx 763.5K 950K 186.5K (+24.4%)
19 아파트매매 실거래자료_202504.xlsx 4.1M 4.1M 355B (0%)
20 아파트매매 실거래자료_202505.xlsx 4.5M 4.5M 369B (0%)
21 아파트매매 실거래자료_202506.xlsx 5.3M 5.3M 2.4K (0%)
22 아파트매매 실거래자료_202507.xlsx 3.4M 3.4M 1.6K (0%)
23 아파트매매 실거래자료_202508.xlsx 2.9M 2.9M 64.9K (+2.2%)
24 아파트매매 실거래자료_202509.xlsx 465.5K 580K 114.5K (+24.6%)
25 연립다세대 매매 실거래자료_202507.xlsx 711.5K 711.9K 423B (+0.1%)
26 연립다세대 매매 실거래자료_202508.xlsx 580.3K 594.7K 14.4K (+2.5%)
27 연립다세대 매매 실거래자료_202509.xlsx 76.2K 97K 20.9K (+27.4%)
28 연립다세대 전월세 실거래자료_202507.xlsx 1.7M 1.7M -12686B (-0.7%)
29 연립다세대 전월세 실거래자료_202508.xlsx 1.3M 1.4M 26.1K (+1.9%)
30 연립다세대 전월세 실거래자료_202509.xlsx 193.7K 238.9K 45.2K (+23.3%)
31 오피스텔 매매 실거래자료_202507.xlsx 282.8K 283K 165B (+0.1%)
32 오피스텔 매매 실거래자료_202508.xlsx 215.3K 220.9K 5.5K (+2.6%)
33 오피스텔 매매 실거래자료_202509.xlsx 35.9K 38.9K 3K (+8.3%)
34 오피스텔 전월세 실거래자료_202507.xlsx 1.9M 1.9M 4.8K (+0.2%)
35 오피스텔 전월세 실거래자료_202508.xlsx 1.4M 1.5M 26.2K (+1.8%)
36 오피스텔 전월세 실거래자료_202509.xlsx 195.3K 232.8K 37.5K (+19.2%)
[1] "52210"
[1] "52710"
No Data : 전북특별자치도 진안군52720 (202507)
No Data : 전북특별자치도 무주군52730 (202507)
No Data : 전북특별자치도 장수군52740 (202507)
No Data : 전북특별자치도 임실군52750 (202507)
[1] "52770"
[1] "52790"
[1] "52800"
[1] "Done: output/APTprice/20250910/연립다세대 전월세 실거래자료_202507.xlsx has been saved."
OK : 연립다세대 전월세 실거래자료_202507
[1] 35
<최종 결과>
> compare_file_sizes()
filename size_09 size_10 change
1 단독다가구 매매 실거래자료_202507.xlsx 292.3K 292.3K 5B (0%)
2 단독다가구 매매 실거래자료_202508.xlsx 225.2K 232.7K 7.5K (+3.3%)
3 단독다가구 매매 실거래자료_202509.xlsx 35.9K 42.8K 6.9K (+19.1%)
4 단독다가구 전월세 실거래자료_202507.xlsx 2.5M 2.5M 7.2K (+0.3%)
5 단독다가구 전월세 실거래자료_202508.xlsx 1.9M 1.9M 43.8K (+2.2%)
6 단독다가구 전월세 실거래자료_202509.xlsx 213K 264.4K 51.4K (+24.1%)
7 아파트 분양권전매 신고 자료_202507.xlsx 213.7K 214K 309B (+0.1%)
8 아파트 분양권전매 신고 자료_202508.xlsx 179.9K 183.4K 3.6K (+2%)
9 아파트 분양권전매 신고 자료_202509.xlsx 35K 42.9K 7.9K (+22.5%)
10 아파트 전월세 자료_202507.xlsx 7.1M 7.2M 80.4K (+1.1%)
11 아파트 전월세 자료_202508.xlsx 5.5M 5.6M 80.3K (+1.4%)
12 아파트 전월세 자료_202509.xlsx 860.7K 1M 200.6K (+23.3%)
13 아파트매매 실거래 상세 자료_202504.xlsx 6.8M 6.8M 457B (0%)
14 아파트매매 실거래 상세 자료_202505.xlsx 7.5M 7.5M 238B (0%)
15 아파트매매 실거래 상세 자료_202506.xlsx 8.8M 8.8M 3.8K (0%)
16 아파트매매 실거래 상세 자료_202507.xlsx 5.6M 5.6M 2.5K (0%)
17 아파트매매 실거래 상세 자료_202508.xlsx 4.7M 4.8M 106.4K (+2.2%)
18 아파트매매 실거래 상세 자료_202509.xlsx 763.5K 950K 186.5K (+24.4%)
19 아파트매매 실거래자료_202504.xlsx 4.1M 4.1M 355B (0%)
20 아파트매매 실거래자료_202505.xlsx 4.5M 4.5M 369B (0%)
21 아파트매매 실거래자료_202506.xlsx 5.3M 5.3M 2.4K (0%)
22 아파트매매 실거래자료_202507.xlsx 3.4M 3.4M 1.6K (0%)
23 아파트매매 실거래자료_202508.xlsx 2.9M 2.9M 64.9K (+2.2%)
24 아파트매매 실거래자료_202509.xlsx 465.5K 580K 114.5K (+24.6%)
25 연립다세대 매매 실거래자료_202507.xlsx 711.5K 711.9K 423B (+0.1%)
26 연립다세대 매매 실거래자료_202508.xlsx 580.3K 594.7K 14.4K (+2.5%)
27 연립다세대 매매 실거래자료_202509.xlsx 76.2K 97K 20.9K (+27.4%)
28 연립다세대 전월세 실거래자료_202507.xlsx 1.7M 1.7M 3.6K (+0.2%)
29 연립다세대 전월세 실거래자료_202508.xlsx 1.3M 1.4M 26.1K (+1.9%)
30 연립다세대 전월세 실거래자료_202509.xlsx 193.7K 238.9K 45.2K (+23.3%)
31 오피스텔 매매 실거래자료_202507.xlsx 282.8K 283K 165B (+0.1%)
32 오피스텔 매매 실거래자료_202508.xlsx 215.3K 220.9K 5.5K (+2.6%)
33 오피스텔 매매 실거래자료_202509.xlsx 35.9K 38.9K 3K (+8.3%)
34 오피스텔 전월세 실거래자료_202507.xlsx 1.9M 1.9M 4.8K (+0.2%)
35 오피스텔 전월세 실거래자료_202508.xlsx 1.4M 1.5M 26.2K (+1.8%)
36 오피스텔 전월세 실거래자료_202509.xlsx 195.3K 232.8K 37.5K (+19.2%)
반응형
'Prop : 부동산 > 업데이트 일지' 카테고리의 다른 글
[R] API로 수집한 일간(daily)업데이트 파일을 어제날짜 파일과 비교하는 쉬운 방법 (0) | 2025.09.24 |
---|---|
[R] data.table 내 텍스트 부분일치 검색 처리 (0) | 2025.09.06 |
다른 사이트에서 내 GA4 태그를 사용하면 발생하는 문제와 해결방안 (0) | 2025.09.05 |
AWS EC2 Failsafe & Maintenance Page 종합 매뉴얼 (0) | 2025.09.01 |
사이트 관리자/운영자의 구글 애드센스 무효 클릭 방지 완벽 가이드 (0) | 2025.08.30 |
댓글