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()삽입
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -