본문 바로가기
파이썬엑셀

파이썬 엑셀: 새 열 생성 & 데이터 가공 마스터하기!

by mypick 2024. 10. 23.

엑셀 파일을 좀 더 능숙하게 다루고 싶은데, 뭔가 더 효율적인 방법이 없을까 고민하시는 분들 많으시죠?  특히 데이터를 가공하거나 새로운 열을 추가해야 할 때, 엑셀만으로는 한계를 느끼실 수도 있을 거예요.

 

하지만 걱정 마세요! 파이썬이라는 든든한 친구를 활용하면 엑셀 작업을 훨씬 빠르고 쉽게 처리할 수 있답니다. 특히 Openpyxl과 Pandas라는 파이썬 라이브러리들을 사용하면 엑셀 파일을 읽고 쓰고, 새로운 열을 만들고, 데이터를 가공하는 작업을 척척 해낼 수 있거든요.

 

이 글에서는 파이썬을 이용해 엑셀 데이터를 어떻게 가공하고, 새로운 열을 생성할 수 있는지 자세히 알아볼 거예요. 엑셀 작업의 효율성을 높이고 싶은 분들이라면 꼭 끝까지 읽어보시길 바라요!

 


파이썬 Openpyxl로 엑셀 열 생성하고 데이터 입력하기

Openpyxl은 파이썬에서 엑셀 파일을 읽고 쓰는 데 유용한 라이브러리에요. 엑셀 파일을 새로 만들거나 기존 파일을 수정할 때 쓸 수 있고, 셀의 값을 읽고 쓰거나, 워크시트를 추가하거나 삭제하는 등 다양한 작업을 수행할 수 있죠. 특히, 엑셀의 열 이름과 열 번호를 변환하는 기능이 있어서, 원하는 열에 데이터를 쉽게 입력할 수 있다는 점이 매력적이에요.

 


엑셀 열 이름과 열 번호 변환하기

Openpyxl에서는 엑셀에서 사용하는 A, B, C와 같은 열 이름을 1, 2, 3과 같은 열 번호로 바꿔주는 기능을 제공해요. 예를 들어, 3번째 열에 데이터를 입력하려면  함수를 사용해서 열 이름을 'C'로 얻을 수 있고, 반대로 'C'라는 열 이름을 열 번호로 변환하려면  함수를 사용하면 3이라는 결과를 얻을 수 있죠.

 

이렇게 열 이름과 번호를 자유롭게 변환할 수 있으니, 파이썬 코드에서 엑셀 셀을 지정할 때 훨씬 편리해져요. 덕분에 복잡한 엑셀 파일도 깔끔하게 처리할 수 있답니다.

 


열 단위로 데이터 입력하기

Openpyxl을 이용해서 엑셀에 데이터를 입력하는 방법은 몇 가지가 있어요. 그중 하나가 바로  메서드를 사용하는 방법인데요. 이 메서드를 이용하면 특정 행과 열에 해당하는 셀을 지정해서 값을 입력할 수 있답니다.

 

예를 들어, A열에 10, 20, 30, 40이라는 데이터를 차례대로 입력하려면 다음과 같은 코드를 사용할 수 있어요.

 

from openpyxl import Workbook

# 워크북과 워크시트 생성
wb = Workbook()
ws = wb.active

# 입력할 데이터
data = [10, 20, 30, 40]

# A열에 데이터 입력
for i, value in enumerate(data):
    ws.cell(row=i + 1, column=1, value=value)

# 파일 저장
wb.save("output.xlsx")

 코드에서는  함수를 사용해서 데이터 리스트의 인덱스를 가져오고, 이 인덱스를 이용해 각 셀에 접근한 다음,  변수에 저장된 값을 입력하도록 했어요. 이렇게 하면 반복문을 통해 여러 셀에 데이터를 쉽게 입력할 수 있답니다.

 


Pandas로 엑셀 데이터 처리하고 새로운 열 추가하기

Pandas는 파이썬에서 데이터 분석을 위해 널리 사용되는 라이브러리 중 하나에요. 엑셀 파일을 읽고 쓰는 기능도 갖추고 있고, 데이터프레임이라는 자료 구조를 이용해서 데이터를 효율적으로 처리할 수 있도록 도와주죠. 엑셀 파일을 Pandas 데이터프레임으로 불러온 후, 다양한 연산을 수행하거나 새로운 열을 추가하는 등의 작업을 수행할 수 있다는 게 큰 장점이에요.

 


엑셀 파일 읽어오고 데이터프레임으로 변환하기

Pandas에서 엑셀 파일을 읽어오는 것은 매우 간단해요.  함수를 사용하면 엑셀 파일을 데이터프레임으로 불러올 수 있답니다.

 

예를 들어, "input.xlsx"라는 엑셀 파일을 읽어와서 라는 변수에 저장하려면 다음과 같은 코드를 사용하면 돼요.

 

import pandas as pd

# 엑셀 파일 읽어오기
df = pd.read_excel("input.xlsx")

새로운 열 추가하기

Pandas 데이터프레임에 새로운 열을 추가하는 방법은 여러 가지가 있어요. 가장 간단한 방법은 데이터프레임의 새로운 열 이름을 지정하고, 그 열에 입력할 값을 할당하는 거예요.

 

예를 들어, "Existing Column"이라는 열의 값을 2배로 해서 "New Column"이라는 새로운 열을 추가하려면 다음과 같은 코드를 사용하면 된답니다.

 

import pandas as pd

# 엑셀 파일 읽어오기
df = pd.read_excel("input.xlsx")

# 새로운 열 추가
df['New Column'] = df['Existing Column'] * 2

# 수정된 데이터프레임을 엑셀 파일로 저장
df.to_excel("output.xlsx", index=False)

 코드에서는  부분에서 "New Column"이라는 새로운 열을 만들고, "Existing Column" 열의 값에 2를 곱한 결과를 할당했어요. 그리고 마지막으로  함수를 이용해서 수정된 데이터프레임을 "output.xlsx"라는 이름의 엑셀 파일로 저장했죠.

 


Excel에서 Python 기능 활용하기

최신 버전의 Excel에서는 Python 코드를 셀에 직접 입력해서 데이터를 처리할 수 있는 기능을 제공해요. 마치 엑셀 수식처럼 Python 코드를 사용할 수 있는 거죠. 이 기능은 Microsoft 365 구독자라면 누구나 사용할 수 있고, Python 코드를 통해 Excel의 셀이나 범위를 참조하고 데이터를 처리할 수 있답니다.

 


Python 코드 셀에 직접 입력하기

Excel에서 Python 코드를 사용하려면 셀에  함수를 입력하고, 그 안에 Python 코드를 작성하면 돼요.

 

예를 들어, 앞에서 Pandas를 이용해서 했던 것처럼, "Existing Column" 열의 값을 2배로 해서 "New Column"이라는 새로운 열을 추가하는 코드를 Excel 셀에 직접 입력하려면 다음과 같이 하면 돼요.

 

=PY("df['New Column'] = df['Existing Column'] * 2")

 하면 Excel에서 Python 코드가 실행되고, 결과가 엑셀 셀에 반영된답니다. 물론, Python 코드를 실행하기 전에 Pandas를 포함한 필요한 라이브러리를 Excel에서 설정해야 해요.

 


엑셀과 Python 결합의 장점


파이썬과 엑셀의 만남은 정말 다양한 장점을 제공해요.

 

  • 데이터 가공 및 분석의 효율성 증대: 파이썬의 강력한 기능을 활용하면 복잡한 데이터 가공 작업을 훨씬 빠르고 쉽게 수행할 수 있어요. 엑셀 수식으로는 처리하기 어려운 복잡한 계산이나 데이터 변환도 파이썬 코드를 통해 간단하게 해결할 수 있죠.
  • 자동화: 반복적인 엑셀 작업을 파이썬 코드로 자동화할 수 있어요. 예를 들어, 매달 반복적으로 수행해야 하는 데이터 정리 작업을 파이썬 스크립트로 만들어두면, 매달 일일이 수동으로 작업할 필요 없이 자동으로 처리되도록 설정할 수 있답니다.
  • 데이터 분석 및 시각화: Pandas와 Matplotlib, Seaborn과 같은 파이썬 라이브러리를 활용하면 데이터 분석과 시각화 작업을 훨씬 효과적으로 수행할 수 있어요. 데이터를 분석하고 결과를 시각적으로 표현해서 인사이트를 얻는 데 큰 도움이 되죠.
  • 직관적인 데이터 처리: Excel 내에서 Python 코드를 직접 사용할 수 있다는 점은 엑셀 사용자에게 큰 편리함을 제공해요. 엑셀에 익숙한 사용자라면 Python 코드를 쉽게 이해하고 적용할 수 있고, 덕분에 데이터 처리 과정을 더욱 직관적으로 이해하고 관리할 수 있답니다.

파이썬과 엑셀 활용 시 주의 사항

파이썬과 엑셀을 함께 사용할 때 주의해야 할 몇 가지 사항들이 있어요.

 

  • 라이브러리 설치: Openpyxl과 Pandas를 포함한 필요한 라이브러리를 먼저 설치해야 해요.  명령어를 사용해서 쉽게 설치할 수 있답니다.
  • Excel 버전 확인: Excel의 Python 기능은 최신 버전에서만 사용할 수 있어요. 만약 오래된 Excel 버전을 사용하고 있다면, 최신 버전으로 업데이트하거나 다른 방법을 통해 엑셀 파일을 처리해야 할 수도 있답니다.
  • Python 코드 작성: Python 코드를 작성할 때는 문법 오류가 없도록 주의해야 해요. 문법 오류가 발생하면 코드가 실행되지 않거나 예상치 못한 결과가 나타날 수 있으니, 신중하게 코드를 작성해야 한답니다.
  • 데이터 유형 확인: 엑셀에서 읽어온 데이터의 유형을 확인하고, 파이썬 코드에서 데이터를 처리할 때 올바른 유형으로 변환해야 해요. 데이터 유형이 맞지 않으면 오류가 발생하거나 예상치 못한 결과가 나타날 수 있으니, 주의가 필요해요.
  • 파일 경로 확인: 엑셀 파일을 읽거나 쓰는 코드를 작성할 때는 파일 경로를 정확하게 지정해야 해요. 파일 경로가 잘못되면 파일을 찾지 못해서 오류가 발생할 수 있으니, 주의해서 파일 경로를 확인해야 한답니다.

마무리하며

파이썬과 Excel의 만남은 데이터 가공과 분석 작업을 한층 더 효율적으로 만들어 줄 수 있어요. Openpyxl과 Pandas를 활용하면 새로운 열을 생성하고, 데이터를 가공하고, 자동화하는 등 다양한 작업을 쉽게 수행할 수 있죠. 또한, Excel에서 직접 Python 코드를 사용할 수 있으니, 사용자 입장에서는 훨씬 직관적이고 편리하게 데이터를 처리할 수 있답니다.

 

이 글을 통해 파이썬을 이용해서 엑셀 데이터를 다루는 방법을 익히셨기를 바라요! 혹시 궁금한 점이 있다면 아래 FAQ를 참고해주세요. 앞으로도 엑셀 작업을 더욱 효율적으로 수행하는 데 도움이 되는 유용한 정보들을 계속해서 공유해 드릴게요!

 

FAQ

Q1. 파이썬 Openpyxl과 Pandas 라이브러리를 어떻게 설치하나요?

 

A1. 파이썬에서  명령어를 실행하면 쉽게 설치할 수 있어요.

 

Q2. Excel에서 Python 코드를 실행하려면 어떤 설정이 필요한가요?

 

A2. Microsoft 365 구독을 사용하고 있고, Excel의 최신 버전을 사용하고 있는지 확인해야 해요. 그리고 Excel에서 Python 코드를 실행하기 위해 필요한 라이브러리를 설정해야 한답니다.

 

Q3. 파이썬으로 엑셀 데이터를 처리하면 어떤 장점이 있나요?

 

A3. 파이썬을 활용하면 엑셀 작업을 자동화하고, 복잡한 데이터 가공 및 분석 작업을 훨씬 효율적으로 처리할 수 있어요. 또한, 데이터 분석 결과를 시각화해서 인사이트를 얻는 데 유용하답니다.

 

키워드

파이썬,엑셀,데이터가공,Openpyxl,Pandas,엑셀자동화,데이터분석,파이썬활용,엑셀활용,데이터처리,Python,Excel,데이터과학,자동화,새로운열추가,엑셀함수,데이터시각화,Microsoft365,효율성,생산성,데이터분석툴,데이터사이언스,파이썬스크립트,엑셀매크로,프로그래밍,코딩,데이터마이닝