최근 그룹에서 여러 사람이 xlwt 및 wlrd에 대해 질문하는 것을 보았습니다. Office 2007이 방금 나왔다면 사용하는 데 익숙합니까? xlsx 파일이 10년이나 지났는데도 Office 2003을 계속 사용하는 것은 좀 무리인 것 같습니다. 누군가 xlsx를 사용하여 xls로 저장할 수 있습니까? —— 의도적으로 몇 가지 추가 단계를 수행하는 목적은 무엇입니까? 호환성을 위해서? 고대오피스2003과 호환되나요? 게다가 우리는 Python을 사용하여 Excel을 작동하기 때문에 여전히 파일을 수동으로 저장해야 합니다. 이것은 말도 안되는 생각입니까?
그래서 저는 아직도 xls를 포기하고 xlsx로 변환해야 한다고 생각합니다. 이것이 바로 이 기사가 작성된 이유입니다. xlwt 및 wlrd는 xls 파일을 읽고 쓸 수만 있고 xlsx 파일을 작동할 수 없습니다.
해결책: openpyxl. 이것은 몇 분 안에 사용할 수 있는 매우 간단한 라이브러리입니다. 설치는 매우 간단합니다. pip install openpyxl은 한 단계로 완료할 수 있습니다. 주로 Excel의 작동에 대해 설명하겠습니다. 물론 위에서 언급한 말도 안되는 내용으로 인해 학생들은 아마도 openpyxl이 xlsx 파일만 작동할 수 있고 xls 파일은 작동할 수 없다고 추측할 수 있습니다.
1. 기본 개념
openpyxl에서는 주로 통합 문서, 시트, 셀이라는 세 가지 개념이 사용됩니다. 통합 문서는 Excel 워크시트이고, 셀은 단순한 셀입니다. openpyxl은 읽기 및 쓰기에 관계없이 "세 가지"를 중심으로 진행됩니다. 통합 문서 열기, 시트 찾기, 셀 작동입니다. 아래에서는 읽기 및 쓰기에 대한 몇 가지 일반적인 방법을 각각 소개합니다.
2. xlsx 읽기
실험을 위해 Sheet1, Sheet2, Sheet3이 포함된 엑셀 문서를 미리 준비했습니다. . 세 페이지에 다음 내용이 Sheet3에 채워져 있습니다. library
from openpyxl import load_workbook
wb = load_workbook("template.xlsx")
print(wb.sheetnames) # ['Sheet1', 'Sheet2', 'Sheet3']
sheet = wb.get_sheet_by_name("Sheet3")
Write to xlsx
print(sheet["C"]) # (<Cell Sheet3.C1>, <Cell Sheet3.C2>, <Cell Sheet3.C3>, <Cell Sheet3.C4>, <Cell Sheet3.C5>, <Cell Sheet3.C6>, <Cell Sheet3.C7>, <Cell Sheet3.C8>, <Cell Sheet3.C9>, <Cell Sheet3.C10>) <-第C列 print(sheet["4"]) # (<Cell Sheet3.A4>, <Cell Sheet3.B4>, <Cell Sheet3.C4>, <Cell Sheet3.D4>, <Cell Sheet3.E4>) <-第4行 print(sheet["C4"].value) # c4 <-第C4格的值 print(sheet.max_row) # 10 <-最大行数 print(sheet.max_column) # 5 <-最大列数 for i in sheet["C"]: print(i.value, end=" ") # c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 <-C列中的所有值
from openpyxl import Workbook wb = Workbook()
sheet = wb.active
위에서 읽은 것처럼 시트 페이지에 내용을 쓰는 것은 비교적 간단합니다.
sheet.title = "New Shit"
수식 작성과 같은 멋진 작업도 수행할 수 있습니다. #🎜🎜 #
sheet['C3'] = 'Hello world!' for i in range(10): sheet["A%d" % (i+1)].value = i + 1
sheet["E1"].value = "=SUM(A:A)"
위 내용은 파이썬으로 엑셀을 여는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!