Excel은 가장 유명한 스프레드시트이며 거의 모든 컴퓨터 사용자는 스프레드시트를 통해 데이터를 관리하는 아이디어에 익숙합니다. 결국 일부 Python 프로그램은 Excel과 상호 작용해야 합니다. 많은 Python 라이브러리를 사용하여 Excel 파일을 만들고 읽고 쓸 수 있습니다. 아래에서 이와 같은 몇 가지 중요한 라이브러리의 예를 볼 것입니다.
openpyxl 사용
이 라이브러리는 Excel 2010 xlsx/xlsm/xltx/xltm 파일을 읽고 쓸 수 있습니다. 아래 예에서는 Excel 워크시트를 만들고 해당 셀에 데이터를 할당한 다음 마지막으로 파일을 원하는 위치에 저장합니다. 모듈에는 이를 위해 사용할 수 있는 많은 내장 메서드가 있습니다. 아래에 사용된 방법이 있습니다.
예
#openpyxl
from openpyxl import Workbook
Spreadsheet = Workbook()
# grab the active worksheet
worksheet = Spreadsheet.active
# Data can be assigned directly to cells
worksheet['A1'] = 50
# Rows can also be appended
worksheet.append([5, 15, 25, 35, 45, 55])
worksheet.append([9, 19, 29, 39, 49, 59])
# Python types will automatically be converted
import datetime
t1 = datetime.datetime.now()
worksheet['A1'] = t1.year
worksheet['A2'] = t1
# Save the file
Spreadsheet.save("E:\\openpyxl.xlsx") 출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
xlwt 사용
이것은 개발자가 Microsoft Excel 버전 95 ~ 2003과 호환되는 스프레드시트 파일을 생성하는 데 사용할 수 있는 라이브러리입니다. 셀에 값을 쓸 수 있을 뿐만 아니라 값의 서식을 지정할 수도 있습니다. 값은 굵게, 색상, 기울임꼴 등으로 만들 수 있습니다. 또한 글꼴 크기도 제어할 수 있습니다. 아래 예에서는 작성된 숫자의 형식을 지정하고 파란색으로 만듭니다.
예
import xlwt
from datetime import datetime
Spreadsheet = xlwt.Workbook()
worksheet = Spreadsheet.add_sheet('Newsheet1')
format1 = xlwt.easyxf('font: name Times New Roman, color-index blue, bold on', num_format_str='#,##0.00')
format2 = xlwt.easyxf(num_format_str='D-MMM-YY')
worksheet.write(0, 0, datetime.now(), format2)
worksheet.write(0, 1, datetime.now().strftime("%B"),format2)
worksheet.write(0, 2, datetime.now().strftime("%A"),format2)
worksheet.write(1, 0, 5369.2, format1)
worksheet.write(1, 1, 1926.5,format1)
worksheet.write(1, 2, 4896.2,format1)
worksheet.write(2, 0, 5)
worksheet.write(2, 1, 10)
worksheet.write(2, 2, xlwt.Formula("A3+B3"))
Spreadsheet.save('E:\\xlwt_spreadsheet.xls') 출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
xlsxwriter 사용
이 모듈은 버전 2007의 엑셀 파일을 생성할 수 있습니다. 위의 엑셀 파일 생성 모듈보다 훨씬 더 많은 기능을 가지고 있습니다. 여러 워크시트에 텍스트, 숫자, 수식 및 하이퍼링크를 작성할 수 있습니다. 아래 예에서는 시트의 텍스트 서식을 지정할 뿐만 아니라 시트에 이미지를 추가합니다.
예
import xlsxwriter
Spreadsheet = xlsxwriter.Workbook('E:\\xlsxw_spreadsheet.xlsx')
sheet = Spreadsheet.add_worksheet()
sheet.set_column('A:A', 18)
# Add a bold format to use to highlight cells.
bold = Spreadsheet.add_format({'bold': True})
#simple text.
sheet.write('A1','Freelancer',bold)
sheet.write('A2', 'Work')
sheet.write('A3', 100)
sheet.write('A4', 1000)
sheet.write('B1', 'DECIMAL', bold)
sheet.write('B2', 17.1)
sheet.write('B3', 29.6)
sheet.write('B4', 45.9)
sheet.write('C1', 'POSITIVE',bold)
sheet.write('C2', 69)
sheet.write('C3', 53)
sheet.write('C4', 36)
sheet.write('D1','NEGATIVE',bold)
sheet.write('D2', -89)
sheet.write('D3', -26)
sheet.write('D4', -15)
# Insert an image.
sheet.insert_image('E5', 'E:\\firefox.JPG')
Spreadsheet.close() 삽입 출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -


