728x90
반응형
pip ( python install package )
pip install xlrd xlwt 명령은 파이썬에서 Excel 파일을 읽고 쓰기 위한 라이브러리 두 개를 설치하는 명령어입니다. 각각의 라이브러리 기능은 다음과 같습니다.
- xlrd: Excel 파일(주로 .xls)을 읽는 데 사용하는 라이브러리입니다. 이 라이브러리는 이전에는 .xlsx 파일도 지원했지만, 버전 2.0.0부터는 .xls 파일만 지원합니다. .xlsx 파일을 읽으려면 openpyxl과 같은 대체 라이브러리를 사용해야 합니다.
- xlwt: Excel 파일을 작성하거나 수정하는 데 사용하는 라이브러리입니다. 주로 .xls 파일을 생성할 때 사용되며, .xlsx 파일은 지원하지 않습니다.
설치 방법
이 두 라이브러리를 설치하려면 다음 명령어를 터미널에 입력합니다:
pip install xlrd xlwt
사용 예시
- xlrd로 Excel 파일 읽기:
- import xlrd # Excel 파일 열기 workbook = xlrd.open_workbook('sample.xls') sheet = workbook.sheet_by_index(0) # 첫 번째 행, 첫 번째 열의 데이터 읽기 value = sheet.cell_value(0, 0) print(value)
- xlwt로 Excel 파일 쓰기:
- import xlwt # 새 워크북과 시트 생성 workbook = xlwt.Workbook() sheet = workbook.add_sheet('Sheet1') # 데이터 쓰기 sheet.write(0, 0, 'Hello World!') # 파일 저장 workbook.save('output.xls')
xlrd와 xlwt는 .xls 형식만 지원하기 때문에, .xlsx 형식을 다루려면 openpyxl이나 pandas 등의 다른 라이브러리도 고려할 수 있습니다.
pip install xlrd xlwt
xlrd 파일 읽기
import xlrd
workbook = xlrd.open_workbook('../../source/singer.xls')
sheetCount = workbook.nsheets
print('워크시트는 %d개 입니다' % (sheetCount))
wsheetList = workbook.sheets()
for worksheet in wsheetList :
print('** 워크시트의 이름 : %s' % (worksheet.name) )
print(" 행 수는 %d, 열 개수는 %d 입니다." % (worksheet.nrows, worksheet.ncols))
- workbook.nsheets
워크시트의 갯수를 구할 수 있음
workbook.sheets()
#워크시트 안에 들어있는 워크시트를 가지고옴
worksheet.name
현재 시트의 이름을 가지고옴
worksheet.nrows, worksheet.ncols
현재 시트의 행과 열을 가지고옴
💡
워크시트 안에 있는 데이터의 row, colum 을 츨력
한 행을 출력하고 다음 줄로 넘어가서 다음 행을 출력하는 코드는 작성
import xlrd
workbook = xlrd.open_workbook('../../source/singer.xls')
print('워크시트는 %d개 입니다' % (workbook.nsheets))
for worksheet in workbook.sheets() :
print('** 워크시트의 이름 : %s' % (worksheet.name) )
print(" 행 수는 %d, 열 개수는 %d 입니다." % (worksheet.nrows, worksheet.ncols))
for row in range(worksheet.nrows):
for col in range(worksheet.ncols):
print("%s" % worksheet.cell_value(row, col), end='\t')
print()
print()
cell_value () 정의
def cell_value(self, rowx, colx):
"Value of the cell in the given row and column."
return self._cell_values[rowx][colx]
전체 그룹 인원수/ 인원수 / 그룹 평균 인원수
import xlrd
workbook = xlrd.open_workbook('../../source/singer.xls')
print('워크시트는 %d개 입니다' % (workbook.nsheets))
rowCount =0
groupTot =0
for worksheet in workbook.sheets() :
print('** 워크시트의 이름 : %s' % (worksheet.name) )
print(" 행 수는 %d, 열 개수는 %d 입니다." % (worksheet.nrows, worksheet.ncols))
rowCount += worksheet.nrows -1
for row in range(worksheet.nrows):
if worksheet.cell_value(row, 2) != '인원':
groupTot += worksheet.cell_value(row, 2)
for col in range(worksheet.ncols):
print("%s" % worksheet.cell_value(row, col), end='\t')
print()
print()
print("전체 그룹 인원수 : ", rowCount)
print("인원수 : ",int(groupTot))
print("그룹 평균 인원수 : ",int(groupTot/rowCount))
xlwt 파일 쓰기
import xlrd
import xlwt
in_workbook = xlrd.open_workbook('../../source/singer.xls')
out_workbook = xlwt.Workbook()
singer_out_165 = xlwt.Workbook()
wsheetList = in_workbook.sheets()
for worksheet in wsheetList:
outsheet = out_workbook.add_sheet(worksheet.name)
outsheet_165 = singer_out_165.add_sheet(worksheet.name)
for row in range(worksheet.nrows):
for col in range(worksheet.ncols):
if (worksheet.cell_value(row, 4) != '평균 키'
and worksheet.cell_value(row, 4) >= 165):
outsheet_165.write(row, col, worksheet.cell_value(row, col))
print("%s" % worksheet.cell_value(row, col), end='\t')
outsheet.write(row, col, worksheet.cell_value(row, col))
if (worksheet.cell_value(row, 4) != '평균 키'
and worksheet.cell_value(row, 4) >= 165):
print()
out_workbook.save('../../source/singer_out.xls')
singer_out_165.save('../../source/singer_out_165.xls')
print('OK~!')
728x90
반응형
'PROGRAMING📚 > Python📑' 카테고리의 다른 글
RawImageViewer / NoteFile (0) | 2024.11.30 |
---|---|
python - windowLocationInfo (2) | 2024.11.29 |
Python - tkinter (0) | 2024.11.28 |
Python -dict (0) | 2024.11.27 |
Python-Set (0) | 2024.11.26 |
댓글