반응형
아주 단순한 작업으로, 1부터 100까지의 숫자를 각 행과 열 순서대로 한다고 하면 다음과 같이 하면 됩니다.
우선 새로운 엑셀 파일을 만들고 여기에 ws.iter_rows를 통해 순차적으로
wb=openpyxl.Workbook()
ws=wb["Sheet"]
counter = 1
for row in ws.iter_rows(min_row=1, max_col=10, max_row=10):
for cell in row:
cell.value = counter
counter += 1
그러면 아래와 같이 나옵니다.
칼럼 순서대로 하려고 하면 ws.iter_rows를 대신 쓰면 되겠지요. 여기서는 새로운 sheet(ws2)를 만들어서 더해봅니다.
ws2=wb.create_sheet("New")
counter = 1
for col in ws2.iter_cols(min_col=1, max_col=10, max_row=10):
for cell in col:
cell.value = counter
counter += 1
그러면 아래와 같이..
조금 다른 내용이긴 한데 만약에 각 셀에 cooridnate string 값을 넣는다고 하면 어떻게 하면 될까요? 아래와 같이 실행하면 가능합니다.
row_string = ""
for row in ws.iter_rows(min_row=1, max_col=ws.max_column, max_row=ws.max_row):
for cell in row:
row_string += "{:<3}".format(str(cell.coordinate) + " ")
row_string += "\n"
print(row_string)
그러면 다음과 같이..
A1 B1 C1 D1 E1 F1 G1 H1 I1 J1
A2 B2 C2 D2 E2 F2 G2 H2 I2 J2
A3 B3 C3 D3 E3 F3 G3 H3 I3 J3
...
A10 B10 C10 D10 E10 F10 G10 H10 I10 J10
반응형
'Python > PYTHON OpenPyXL (python and excel)' 카테고리의 다른 글
[openpyxl] 새로운 행, 열을 더하고 삭제하는 법 #1:append (0) | 2020.06.08 |
---|---|
[openpyxl] excel 파일 저장하기 전에 파이썬 콘솔에서 결과 미리 프린트해서 보는 법 (0) | 2020.06.05 |
[openpyxl] 자신이 가진 엑셀 파일의 실질적인 행, 열 수를 알고 싶다면? (0) | 2020.06.03 |
[openpyxl] loop 만들기 (0) | 2020.06.01 |
[openpyxl] 한 셀 기준으로 다른 셀을 정의할 때: offset 기능 (0) | 2020.05.29 |