Excel & IT Info

아이엑셀러 닷컴, 엑셀러TV

Python

파이썬을 사용하여 Excel에서 테이블 생성/업데이트/제거하기

권현욱(엑셀러) 2025. 3. 8. 19:34
반응형

들어가기 전에

Excel의 표는 데이터를 효과적으로 관리, 구성 및 분석하는 데 도움이 되는 강력한 도구입니다. 데이터 범위를 표로 변환하면 데이터를 쉽게 필터링, 정렬하고 계산할 수 있습니다. 파이썬을 사용하여 Excel에서 표를 만들고, 업데이트하고, 제거하는 방법을 소개합니다.

권현욱(엑셀러) | 아이엑셀러 닷컴 대표 · Microsoft MVP · 엑셀 솔루션 프로바이더 · 작가

이미지: 아이엑셀러 닷컴


이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.

  • 원문: How to Create, Update and Remove Tables in Excel with Python
  • URL: https://medium.com/@alice.yang_10652/how-to-create-update-and-remove-tables-in-excel-with-python-0edf29c13c0c


Python 라이브러리 설치

Python용 Spire.XLS는 Excel 파일 작업을 위한 광범위한 기능을 제공합니다. 이를 사용하여 Excel 문서에서 표, 차트 및 기타 여러 개체를 생성, 수정, 삭제할 수 있습니다. 또한 Spire.XLS는 .xls, .xlsx, .xlsm, .xlsb 등과 같은 다양한 Excel 형식을 지원하므로 파이썬에서 데이터 처리 작업을 위한 다용도 도구로 사용할 수 있습니다.

다음 명령을 실행하여 PyPI에서 Python용 Spire.XLS를 설치합니다.

pip install spire.xls


설치가 완료되면 Excel 파일에서 표 작업을 시작할 수 있습니다.

파이썬을 사용하여 Excel에서 표 만들기

Worksheet.ListObjects.Create() 메서드는 Excel 워크시트에서 지정된 데이터 범위를 표로 변환하는 데 사용됩니다. 표를 추가한 후에는 BuiltInTableStyle 속성을 통해 기본 제공 스타일을 적용하여 표의 모양과 가독성을 더욱 향상시킬 수 있습니다.

다음은 Python을 사용하여 Excel에서 표를 만들고 스타일을 적용하는 코드 예제입니다.

from spire.xls import *
from spire.xls.common import *

# Open an Excel file
workbook = Workbook()
workbook.LoadFromFile("Template.xlsx")

# Get the desired worksheet by index (zero-based)
worksheet = workbook.Worksheets[0]

# Specify the data range that you want to convert to a table
range = worksheet.Range["A1:G11"]

# Convert the data range to a table
table = worksheet.ListObjects.Create("Table1", range)

# Set a built-in style for the table
table.BuiltInTableStyle = TableBuiltInStyles.TableStyleMedium2

# Save the resulting workbook to a file
workbook.SaveToFile("CreateTable.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

 

(이미지: medium) Python을 사용하여 Excel에서 테이블 만들기

 

파이썬을 사용하여 Excel 표의 이름과 데이터 범위 변경하기

Excel 워크시트의 기존 테이블은 Worksheet.ListObjects[index] 속성을 통해 액세스할 수 있습니다. 액세스한 후에는 DisplayName 및 Location 속성을 사용하여 이름과 데이터 범위를 변경할 수 있습니다.

다음은 Python을 사용하여 Excel에서 기존 테이블의 이름과 데이터 범위를 변경하는 코드 예제입니다.

from spire.xls import *
from spire.xls.common import *

# Open an Excel file
workbook = Workbook()
workbook.LoadFromFile("CreateTable.xlsx")

# Get the desired worksheet by index (zero-based)
worksheet = workbook.Worksheets[0]

# Get the desired table by index (zero-based)
table = worksheet.ListObjects[0]

# Specify the new data range of the table
new_range = worksheet.Range["C1:G11"]

# Change the data range of the table
table.Location = new_range
# Change the name of the table
table.DisplayName = "Product_Sales"

# Save the resulting workbook to a file
workbook.SaveToFile("ChangeTableNameAndDataRange.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

 

파이썬을 사용하여 Excel 표에 총 행 추가하기

DisplayTotalRow 속성을 True로 설정하여 표 하단에 총 행을 추가할 수 있습니다. 합계, 평균, 최소 또는 최대와 같은 총계 계산에 사용되는 함수를 설정할 수도 있습니다.

다음은 Python을 사용하여 Excel에서 기존 표의 하단에 총 행을 추가하는 코드 예제입니다.

from spire.xls import *
from spire.xls.common import *

# Open an Excel file
workbook = Workbook()
workbook.LoadFromFile("CreateTable.xlsx")

# Get the desired worksheet by index (zero-based)
worksheet = workbook.Worksheets[0]

# Get the desired table by index (zero-based)
table = worksheet.ListObjects[0]

# Display total row
table.DisplayTotalRow = True
# Add total row label
table.Columns[0].TotalsRowLabel = "Total"
# Set the function used for the total calculation
table.Columns[5].TotalsCalculation = ExcelTotalsCalculation.Sum
table.Columns[6].TotalsCalculation = ExcelTotalsCalculation.Sum

# Save the resulting workbook to a file
workbook.SaveToFile("AddTotalRow.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

 

파이썬을 사용하여 Excel 표에 행/열 삽입/제거하기

때로는 행과 열을 추가하거나 제거하여 표의 구조를 수정하고 싶을 때가 있습니다. 이는 워크시트의 적절한 위치에 행과 열을 삽입하면 쉽게 수행할 수 있습니다.

다음은 Python을 사용하여 Excel의 기존 표에 행과 열을 삽입하고 제거하는 코드 예제입니다.

from spire.xls import *
from spire.xls.common import *

# Open an Excel file
workbook = Workbook()
workbook.LoadFromFile("CreateTable.xlsx")

# Get the desired worksheet by index (zero-based)
worksheet = workbook.Worksheets[0]

# Insert a row and column at a specific position
worksheet.InsertRow(5, 1, InsertOptionsType.FormatAsBefore)
worksheet.InsertColumn(3, 1, InsertOptionsType.FormatAsBefore)

# Delete a row and column
worksheet.DeleteRow(6, 1)
worksheet.DeleteColumn(4, 1)

# Save the resulting workbook to a file
workbook.SaveToFile("InsertOrDeleteRowsAndColumnsFromTable.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

 

파이썬을 사용하여 Excel 표의 표 스타일 옵션 사용자 지정하기

머리글 행, 전체 행, 첫 번째 열, 마지막 열, 띠 행, 띠 열과 같은 표 스타일 옵션을 사용자 지정하여 표를 더 읽기 쉽게 만들 수 있습니다.

다음은 Python을 사용하여 Excel에서 표의 표 스타일 옵션을 사용자 지정하는 코드 예제입니다.

from spire.xls import *
from spire.xls.common import *

# Open an Excel file
workbook = Workbook()
workbook.LoadFromFile("CreateTable.xlsx")

# Get the desired worksheet by index (zero-based)
worksheet = workbook.Worksheets[0]

# Get the desired table by index (zero-based)
table = worksheet.ListObjects[0]

# Display total row
table.DisplayTotalRow = False
# Display header row
table.DisplayHeaderRow = True
# Display special formatting for the first column
table.DisplayFirstColumn= True
# Display special formatting for the last column
table.DisplayLastColumn= True
# Display banded rows
table.ShowTableStyleRowStripes = True
# Display banded columns
table.ShowTableStyleColumnStripes = True

# Save the resulting workbook to a file
workbook.SaveToFile("CustomizeTableStyleOptions.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

 

파이썬을 사용하여 Excel에서 표 제거하기

표를 제거한다는 것은 표를 일반 셀 범위로 다시 변환하는 것을 의미합니다. 이 프로세스는 데이터를 그대로 유지하면서 표 구조를 제거합니다. Excel 워크시트에서 인덱스나 이름을 사용하여 표를 제거할 수도 있고, 모든 표를 제거할 수도 있습니다.

다음은 Python을 사용하여 Excel 워크시트의 표 또는 모든 표를 일반 셀 범위로 변환하는 코드 예제입니다.

from spire.xls import *
from spire.xls.common import *

# Open an Excel file
workbook = Workbook()
workbook.LoadFromFile("CreateTable.xlsx")

# Get the desired worksheet by index (zero-based)
worksheet = workbook.Worksheets[0]

# Remove the desired table by index (zero-based)
worksheet.ListObjects.RemoveAt(0)

# # Or remove the desired table by name
# for i in range(len(worksheet.ListObjects) - 1, -1, -1):
#     # Check if the table name matches the specific value
#     if worksheet.ListObjects[i].Name == "Table1":
#         # Remove the table
#         worksheet.ListObjects.RemoveAt(i)

# # Or remove all tables from the worksheet
# worksheet.ListObjects.Clear()

# Save the resulting workbook to a file
workbook.SaveToFile("RemoveTable.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

 

마치며

Python을 사용하여 Excel에서 표를 만들고, 업데이트하고, 제거하는 방법을 살펴보았습니다. Python용 Spire.XLS 라이브러리를 사용하면 Excel에서 표 작업을 손쉽게 처리할 수 있습니다.