설치
파이썬에서 엑셀 파일을 읽고 데이터를 추출하기 위해서는 openpyxl 라이브러리를 사용할 수 있습니다. 먼저 이 라이브러리를 설치해야 합니다. 설치 방법은 다음과 같습니다.
pip install openpyxl
이 후 엑셀을 불러오고, 읽고, 추출하는 코드를 작성하면 됩니다.
# 필요한 라이브러리를 가져옵니다.
import openpyxl
def read_excel(file_name):
# 엑셀 파일을 엽니다.
workbook = openpyxl.load_workbook(file_name)
# 첫 번째 시트를 선택합니다.
sheet = workbook.active
# 시트의 데이터를 추출하고 출력합니다.
for row in sheet.iter_rows(values_only=True):
print(row)
# 엑셀 파일의 경로를 지정합니다. 파일 경로를 수정해주세요.
file_name = 'example.xlsx'
read_excel(file_name)
응용
더 나아가 필요한 행과 열만을 추출할 수 있습니다.
import openpyxl
def read_selected_columns(file_name, columns):
# 엑셀 파일을 엽니다.
workbook = openpyxl.load_workbook(file_name)
# 첫 번째 시트를 선택합니다.
sheet = workbook.active
# 시트에서 선택된 열의 데이터를 추출하고 출력합니다.
for row in sheet.iter_rows(min_col=1, max_col=sheet.max_column, values_only=True):
selected_data = [row[col-1] for col in columns]
print(selected_data)
# 엑셀 파일의 경로를 지정합니다. 파일 경로를 수정해주세요.
file_name = 'example.xlsx'
# 원하는 열을 선택합니다. 예를 들어, 첫 번째, 세 번째, 네 번째 열을 선택하려면 [1, 3, 4] 를 사용합니다.
columns = [1, 3, 4]
read_selected_columns(file_name, columns)
필요한 행도 위와 같은 방법으로 추출하시면 됩니다.
그리고 저장한 데이터를 CSV 파일로 저장해 보겠습니다.
import openpyxl
import csv
import os
def read_selected_columns(file_name, columns):
# 엑셀 파일을 엽니다.
workbook = openpyxl.load_workbook(file_name)
# 첫 번째 시트를 선택합니다.
sheet = workbook.active
# 데이터를 저장할 리스트를 생성합니다.
data = []
# 시트에서 선택된 열의 데이터를 추출합니다.
for row in sheet.iter_rows(min_col=1, max_col=sheet.max_column, values_only=True):
selected_data = [row[col-1] for col in columns]
data.append(selected_data)
return data
def save_to_csv(data, output_file):
# CSV 파일을 쓰기 모드로 엽니다.
with open(output_file, 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
# 데이터를 한 행씩 CSV 파일에 씁니다.
for row in data:
writer.writerow(row)
# 엑셀 파일의 경로를 지정합니다. 파일 경로를 수정해주세요.
file_name = 'example.xlsx'
# 원하는 열을 선택합니다. 예를 들어, 첫 번째, 세 번째, 네 번째 열을 선택하려면 [1, 3, 4] 를 사용합니다.
columns = [1, 3, 4]
# 데이터를 추출합니다.
data = read_selected_columns(file_name, columns)
# 출력할 CSV 파일의 이름을 지정합니다.
output_file = os.path.join(os.path.expanduser('~'), 'Desktop', 'output.csv')
# 데이터를 CSV 파일로 저장합니다.
save_to_csv(data, output_file)
print(f"CSV 파일이 저장되었습니다: {output_file}")
제게 필요한 기능은 엑셀에서 데이터를 추출해 CSV 파일로 저장하는 기능까지 인데, 궁금하거나 필요하신 기능 있으면 추가해서 작성해 보겠습니다.
'파이썬으로 자동화 프로그램 만들기' 카테고리의 다른 글
변수와 데이터 타입, 연산자에 대한 쉬운 예 (0) | 2023.06.20 |
---|---|
파이썬 시작하기 (0) | 2023.06.18 |