여러 CSV 파일을 하나의 엑셀 파일로 병합 (별도 시트)

2026-07-08 06:56:39 jie zou
AI Summarize:
ChatGPT
ChatGPT
Claude
Grok
Perplexity
Quick
Quick
Concise overview
Highlights
Key takeaways
Detailed
Structured explanation
Brief
One sentence summary
Summarize |

여러 CSV 파일을 하나의 Excel 통합 문서로 병합

서로 다른 시스템에서 내보낸 보고서를 작업하다 보면 수십 개의 CSV 파일이 생기는 경우가 흔합니다. 예를 들어, 각 부서, 매장 또는 월별로 자체 CSV 보고서를 생성할 수 있습니다. 이는 데이터 수집을 간편하게 만들지만, 별도의 파일이 많아지면 관리하기가 매우 번거로워집니다.

실용적인 해결책은 모든 CSV 파일을 하나의 Excel 통합 문서로 결합하면서 각 CSV를 별도의 워크시트로 유지하는 것입니다. 이렇게 하면 원래 파일 구조가 보존되고, 탐색이 쉬워지며, 여러 개의 개별 파일 대신 하나의 통합 문서를 공유할 수 있습니다.

이 기사에서는 간단한 수동 방식부터 VBA를 이용한 Excel 자동화, 그리고 완전한 프로그래밍 방식인 Python 솔루션까지 세 가지 실용적인 방법을 소개합니다.

다루는 방법:

방법 1. CSV 파일을 별도의 워크시트로 복사 및 붙여넣기

병합할 CSV 파일이 몇 개뿐이라면, 내용을 수동으로 다른 워크시트에 복사하는 것이 가장 간단한 해결책입니다.

한 가지 중요한 점은 메모장과 같은 텍스트 편집기가 아닌 Microsoft Excel로 각 CSV 파일을 열어야 한다는 것입니다. CSV를 Excel에서 열면 구분 기호를 기준으로 행과 열이 올바르게 파싱됩니다. 메모장에서 텍스트를 직접 복사하면, Excel이 값을 자동으로 구분하지 않고 모든 내용을 단일 열에 붙여넣을 수 있습니다.

CSV 파일을 별도의 워크시트로 복사 및 붙여넣기

단계

  1. Microsoft Excel을 열고 새 통합 문서를 만듭니다.
  2. Excel을 사용하여 첫 번째 CSV 파일을 엽니다.
  3. 모든 데이터(Ctrl + A)를 선택하고 복사(Ctrl + C)합니다.
  4. 새 통합 문서로 돌아와 첫 번째 워크시트에 데이터를 붙여넣습니다.
  5. 필요한 경우 워크시트 이름을 바꿉니다.
  6. 나머지 각 CSV 파일에 대해 이 과정을 반복하며 매번 새 워크시트를 만듭니다.
  7. 통합 문서를 .xlsx 파일로 저장합니다.

장점

  • 프로그래밍이 필요 없음.
  • 모든 Excel 설치 환경에서 작동.
  • 워크시트당 하나의 CSV 유지.
  • 파일 수가 적은 가끔 발생하는 작업에 이상적.

단점

  • 많은 파일을 처리할 때 시간이 많이 소요됨.
  • 전적으로 수동 작업.
  • 수십 개의 CSV 파일을 다룰 때 실수하기 쉬움.

방법 2. VBA 매크로를 사용하여 여러 CSV 파일 가져오기

Excel 내에서 이 작업을 자주 수행한다면, VBA 매크로를 통해 전체 과정을 자동화할 수 있습니다. 매크로는 폴더를 스캔하고, 모든 CSV 파일을 열어 현재 통합 문서로 워크시트를 복사한 다음, CSV 파일 이름으로 워크시트 이름을 지정합니다.

VBA 매크로를 사용하여 Excel에서 여러 CSV 파일 결합

1단계. 빈 통합 문서 만들기

Excel을 열고 새 통합 문서를 만듭니다. 이 통합 문서는 가져온 모든 워크시트를 저장할 대상 통합 문서가 됩니다.

2단계. VBA 편집기 열기

Alt + F11을 눌러 Visual Basic 편집기를 엽니다.

삽입(Insert) > 모듈(Module)을 선택한 다음, 새 모듈에 다음 코드를 붙여넣습니다.

Sub MergeCSVFilesToSheets()

    Dim folderPath As String
    Dim fileName As String
    Dim wbCSV As Workbook
    Dim ws As Worksheet
    Dim targetWb As Workbook
    Dim sheetName As String

    Set targetWb = ThisWorkbook

    folderPath = InputBox("CSV 파일이 포함된 폴더 경로를 입력하세요:")

    If Right(folderPath, 1) <> "\" Then
        folderPath = folderPath & "\"
    End If

    fileName = Dir(folderPath & "*.csv")

    Application.ScreenUpdating = False

    Do While fileName <> ""

        Workbooks.Open folderPath & fileName
        Set wbCSV = ActiveWorkbook

        sheetName = Left(fileName, InStrRev(fileName, ".") - 1)

        wbCSV.Worksheets(1).Copy After:=targetWb.Sheets(targetWb.Sheets.Count)
        Set ws = targetWb.Sheets(targetWb.Sheets.Count)

        On Error Resume Next
        ws.Name = Left(sheetName, 31)
        On Error GoTo 0

        wbCSV.Close SaveChanges:=False

        fileName = Dir
    Loop

    Application.ScreenUpdating = True

    MsgBox "CSV 파일이 성공적으로 병합되었습니다."

End Sub

3단계. 매크로 실행

F5를 누르고 CSV 파일이 있는 폴더를 입력하면 매크로가 자동으로 모든 CSV를 각각의 워크시트로 가져옵니다.

장점

  • 수동 복사보다 훨씬 빠름.
  • Microsoft Excel 내에서 완전히 실행됨.
  • 각 CSV 파일에 대해 자동으로 워크시트 생성.
  • Excel을 정기적으로 사용하는 사용자에게 적합.

단점

  • 매크로 사용 통합 문서가 필요함.
  • 사용자가 VBA 매크로를 활성화해야 함.
  • 무인 자동화나 서버 측 자동화에는 덜 적합함.

방법 3. Spire.XLS를 사용하여 Python에서 여러 CSV 파일 병합하기

반복되는 워크플로우, 예약된 작업 또는 비즈니스 애플리케이션의 경우 프로그래밍 방식의 자동화가 가장 효율적인 솔루션인 경우가 많습니다.

많은 개발자가 CSV 처리를 위해 Pandas를 즉시 떠올립니다. Pandas는 표 형식의 데이터를 읽고, 분석하고, 변환하는 데 탁월한 라이브러리입니다. 그러나 주된 초점은 문서 생성보다는 데이터 분석에 있습니다.

단순히 CSV 파일을 가져오는 것을 넘어 워크시트 서식 지정, 스타일 적용, 차트 삽입, 통합 문서 보호 또는 최종 통합 문서를 PDF로 내보내기와 같은 작업이 필요하다면 Free Spire.XLS for Python과 같은 스프레드시트 라이브러리가 더 완벽한 솔루션을 제공합니다.

먼저 라이브러리를 설치합니다:

pip install Spire.XLS

그런 다음 아래 코드를 사용하여 폴더 내의 모든 CSV 파일을 하나의 Excel 통합 문서로 병합하고, 각 CSV를 별도의 워크시트로 만듭니다.

import os
from spire.xls import Workbook, WorksheetCopyType, FileFormat

input_folder = "input"
output_folder = "output"

# 대상 통합 문서 생성
merged_workbook = Workbook()
merged_workbook.Worksheets.Clear()

# 모든 CSV 파일 처리
for csv_file in os.listdir(input_folder):
    if csv_file.endswith(".csv"):

        input_path = os.path.join(input_folder, csv_file)

        workbook = Workbook()
        workbook.LoadFromFile(input_path, ",", 1, 1)

        sheet = workbook.Worksheets[0]
        merged_workbook.Worksheets.AddCopy(
            sheet,
            WorksheetCopyType.CopyAll
        )

merged_workbook.SaveToFile(
    os.path.join(output_folder, "Merged.xlsx"),
    FileFormat.Version2013
)

출력:

Python을 사용하여 여러 CSV 파일을 하나의 Excel 통합 문서로 병합

수동 방식이나 VBA와 비교했을 때, 이 방식은 자동화된 워크플로우에 통합하기가 훨씬 쉽습니다. 통합 문서를 생성한 후 Spire.XLS를 사용하여 다음과 같은 작업을 계속할 수 있습니다:

  • 글꼴, 색상, 테두리 및 숫자 형식 적용.
  • 틀 고정 또는 열 너비 자동 조정.
  • 차트 및 피벗 테이블 생성.
  • 워크시트 또는 통합 문서 보호.
  • 완성된 통합 문서를 PDF 또는 기타 형식으로 내보내기.

이러한 기능 덕분에 CSV 병합뿐만 아니라 엔드투엔드 보고서 생성 파이프라인에도 적합합니다.

세 가지 방법 비교

방법 프로그래밍 필요 여부 일괄 처리 최적의 용도
복사 및 붙여넣기 아니요 제한적 CSV 파일이 몇 개뿐인 일회성 작업
VBA 매크로 기본 VBA CSV 파일을 정기적으로 가져오는 Excel 사용자
Python + Free Spire.XLS Python 우수함 자동화된 워크플로우, 비즈니스 애플리케이션 및 일괄 처리

결론

가장 좋은 방법은 해당 작업을 얼마나 자주 수행해야 하는지에 따라 다릅니다.

가끔 몇 개의 CSV 파일만 결합하면 된다면, 데이터를 수동으로 복사하여 별도의 워크시트에 붙여넣는 것이 가장 빠른 해결책입니다.

주로 Excel에서 작업하며 이 작업을 정기적으로 수행한다면, VBA 매크로를 통해 최소한의 노력으로 프로세스를 자동화할 수 있습니다.

반복 가능한 워크플로우를 구축하거나 애플리케이션에 CSV 처리를 통합하는 개발자에게는 Spire.XLS를 사용하는 Python이 가장 큰 유연성을 제공합니다. CSV 파일 병합을 넘어 고급 스프레드시트 조작 및 문서 생성이 가능하므로 다양한 자동화 시나리오에 적합합니다.

자주 묻는 질문(FAQ)

수백 개의 CSV 파일을 하나의 Excel 통합 문서로 병합할 수 있나요?

네. VBA도 많은 파일을 처리할 수 있지만, 매우 큰 일괄 작업이나 자동화된 워크플로우의 경우 Python 솔루션이 일반적으로 더 안정적이고 확장성이 뛰어납니다.

각 CSV 파일이 고유한 워크시트가 되나요?

네. 이 기사에서 설명한 세 가지 방법 모두 모든 데이터를 단일 시트로 결합하는 대신 각 CSV를 별도의 워크시트로 보존합니다.

워크시트 이름을 CSV 파일 이름으로 지정할 수 있나요?

네. VBA 매크로와 Python 예제 모두 자동으로 CSV 파일 이름(확장자 제외)을 워크시트 이름으로 사용합니다.

CSV 파일이 UTF-8 또는 다른 인코딩을 사용하는 경우는 어떻게 하나요?

대부분의 CSV 파일은 문제없이 가져올 수 있습니다. 파일이 다른 인코딩이나 구분 기호를 사용하는 경우, 처리하기 전에 가져오기 설정을 적절히 조정하십시오.

CSV 파일을 병합한 후에도 통합 문서를 계속 편집할 수 있나요?

물론입니다. 통합 문서가 생성된 후에는 다른 Excel 파일과 마찬가지로 워크시트 서식 지정, 차트 삽입, 수식 추가, 통합 문서 보호 또는 PDF로 내보내기가 가능합니다.

참고 항목