python 공부 2024.04.04
알고리즘
무식하게 짜면 컴터가 안돌아갔음 옛날엔 하드웨어가 좋지 못해서..
개발자가 알고리즘을 왜 알아야하냐면 문제해결능력을 올려줄 수 있음
숫자의합구하기
1
2
3
4
5
6
7
8
9
10
11
12
# 숫자의 합 구하기
n = int(input())
# 그냥 리스트로 받으면 한글자씩 나눠진다
numbers = list(input())
# 모두 더할 변수를 하나 만들고 0으로 초기화 시킨다
sum = 0
# n을 활용하여서 각 range에 n을 둠 그리고 numbers의 배열을 i로 출력함
for i in range(n):
# 각 sum에 그 배열의 값을 int로 만들고 그걸 더해줌
sum += int(numbers[i])
# 마지막으로 sum을 출력시켜줌
print(sum)
연속된 자연수의 합 구하기
어려웠다 ㅜ.ㅜ 풀긴 풀었는데 비효율적인 코드가 탄생함
n이 <= 10,000,000을 못봤다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
n = int(input())
# 만약 n이 15이고 (7 + 8, 4 + 5 + 6, 1 + 2 + 3 + 4) 가지수는 3개이다.
# 만약 n이 10이면 1 + 2 + 3 + 4 임 .. 한 번 되고 나면 마지막 수부터 다시 되는 수 까지 가나?�
# N에 대하여 연속된 자연수의 합으로 나타낼 수 있는
# 모든 경우의 수를 찾는 것을 요구하고 있습니다.
# a = (2 * N / n - (n - 1)) / 2 ||| a가 int이고 > 0보다 크다면 count ?
result = 0
# 시간 복잡도 없이 걍 깡으로 해보면 연속된 자연수로 ? 더해서 내가 입력한 값이 나오면 count + 1
# 근데 입력수가 크면 시간이 너무 느려짐 개똥이 됨
for i in range(1, n+1):
num = 0
for j in range(i, n):
num += j
if num == n:
result += 1
break
print(result)
- gpt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def find_consecutive_sums(n):
count = 0 # 연속된 자연수의 합으로 나타낼 수 있는 경우의 수를 저장할 변수 count를 초기화합니다.
# 연속된 자연수의 합으로 n을 나타낼 수 있는 경우를 찾습니다.
# 연속된 자연수의 길이는 1부터 n의 제곱근까지로 제한합니다.
for length in range(1, int(n**0.5) + 1):
# 등차수열의 첫째 항을 계산합니다.
a = (2 * n / length - (length - 1)) / 2
# 만약 첫째 항이 자연수이고, 양수인 경우에는 연속된 자연수의 합으로 n을 나타낼 수 있습니다.
if a.is_integer() and a > 0:
count += 1 # 경우의 수를 증가시킵니다.
return count # 모든 경우의 수를 찾은 후에 그 값을 반환합니다.
# 사용자로부터 숫자를 입력받습니다.
n = int(input("숫자입력: "))
# 함수를 호출하여 주어진 숫자를 연속된 자연수의 합으로 나타낼 수 있는 경우의 수를 찾습니다.
result = find_consecutive_sums(n)
# 결과를 출력합니다.
print(result)
- 투포인터
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
n = int(input()) # 사용자로부터 숫자를 입력받습니다.
count = 1 # 연속된 자연수의 합으로 n을 나타내는 경우의 수를 세는 변수입니다. 초기값은 1로 설정합니다.
startIndex = 1 # 연속된 자연수의 시작 인덱스를 나타내는 변수입니다. 초기값은 1로 설정합니다.
endIndex = 1 # 연속된 자연수의 끝 인덱스를 나타내는 변수입니다. 초기값은 1로 설정합니다.
sum_ = 1 # 연속된 자연수의 합을 나타내는 변수입니다. 초기값은 1로 설정합니다.
# endIndex가 n과 같아질 때까지 반복합니다.
while endIndex != n:
if sum_ == n: # 만약 현재까지의 합이 n과 같다면,
count += 1 # 경우의 수를 하나 증가시킵니다.
endIndex += 1 # endIndex를 한 칸 앞으로 이동합니다.
sum_ += endIndex # 새로운 endIndex를 합에 더합니다.
elif sum_ > n: # 만약 현재까지의 합이 n보다 크다면,
sum_ -= startIndex # startIndex를 합에서 빼고,
startIndex += 1 # startIndex를 한 칸 앞으로 이동합니다.
else: # 그 외의 경우에는,
endIndex += 1 # endIndex를 한 칸 앞으로 이동하고,
sum_ += endIndex # 새로운 endIndex를 합에 더합니다.
# 최종적으로 구한 경우의 수를 출력합니다.
print(count)
배열과 리스트
리스트 > 메모리 > 배열의 값은 인덱스를 참조할 수 있다. (포인터 개념)
파이썬 라이브러리 (xlrd, xlwt, pandas)
- “엑셀 파일 복사하기(xlrd와 xlwt)”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 엑셀 파일을 다루기 위한 xlrd와 xlwt 라이브러리를 불러옵니다.
import xlrd
import xlwt
# xlrd를 사용하여 기존에 있는 엑셀 파일('singer.xls')을 엽니다.
workbook = xlrd.open_workbook('C:\Users\user123\Desktop\learn-py\basic\source\Excel')
# xlwt를 사용하여 새로운 엑셀 파일을 만들 준비를 합니다.
outWorkbook = xlwt.Workbook()
# workbook.sheets() 메서드로 열린 엑셀 파일 내의 모든 시트를 가져옵니다.
wsheetlist = workbook.sheets()
for worksheet in wsheetlist: # 열린 엑셀 파일의 각 시트에 대해 반복합니다.
# outWorkbook에 현재 시트와 같은 이름의 새 시트를 추가합니다.
outSheet = outWorkbook.add_sheet(worksheet.name)
# 각 시트의 행(row)에 대해 반복합니다.
for row in range(worksheet.nrows):
# 각 행의 열(col)에 대해 반복합니다.
for col in range(worksheet.ncols):
# 현재 시트의 셀 값을 읽어와서 새 시트의 같은 위치에 씁니다.
outSheet.write(row, col, worksheet.cell_value(row, col))
# 새로운 엑셀 파일을 'outSinger1.xls'라는 이름으로 저장합니다.
outWorkbook.save('C:/Users/user123/Desktop/learn-py/basic/')
# 파일 저장이 완료되었다는 메시지를 출력합니다.
print("Save. ok!")
- “판다스로 위의 기능 구현”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import pandas as pd
# 파일 경로를 지정합니다.
input_file = 'c:/CookAnalysis/Excel/singer.xls'
output_file = 'c:/CookAnalysis/Excel/outSinger1.xlsx'
# pandas의 read_excel 함수를 사용하여 Excel 파일을 읽습니다.
# sheet_name=None은 모든 시트를 읽어서 사전(dict) 형태로 저장합니다.
xls = pd.read_excel(input_file, sheet_name=None)
# pandas의 ExcelWriter를 사용하여 새로운 Excel 파일을 생성합니다.
with pd.ExcelWriter(output_file) as writer:
# xls 사전에 저장된 각 시트를 반복하며 새로운 Excel 파일에 씁니다.
for sheet_name, df in xls.items():
# DataFrame을 시트로 쓰기: 시트 이름은 원본 파일의 시트 이름과 동일합니다.
df.to_excel(writer, sheet_name=sheet_name, index=False)
# 파일이 저장되었다는 메시지를 출력합니다.
print("Save. ok!")
- “셀 파일의 각 시트를 CSV 파일로 변환하기”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 필요한 라이브러리를 불러옵니다. xlrd는 Excel 파일을 읽기 위해, csv는 CSV 파일을 쓰기 위해 사용됩니다.
import xlrd
import csv
# xlrd를 사용하여 원하는 Excel 파일을 엽니다.
workbook = xlrd.open_workbook('C:/Users/user123/Desktop/learn-py/basic/source/Excel/singer.xls')
# workbook.sheets() 메소드로 Excel 파일 내의 모든 시트를 가져옵니다.
wsheetlist = workbook.sheets()
# 가져온 모든 시트에 대해 반복문을 실행합니다.
for worksheet in wsheetlist:
# 각 시트의 이름을 사용하여 새 CSV 파일을 생성합니다.
# 예: 시트 이름이 'Sheet1'이면 파일 이름은 'singer_Sheet1.csv'가 됩니다.
with open('C:/Users/user123/Desktop/learn-py/basic/source/Excel/singer_'+ worksheet.name + ".csv", "w", newline="") as outFp:
# csv.writer 객체를 생성합니다. 이 객체는 CSV 파일에 데이터를 쓰는 데 사용됩니다.
csvWriter = csv.writer(outFp)
# 시트의 모든 행에 대해 반복문을 실행합니다.
for row in range(worksheet.nrows):
# 현재 행의 모든 셀 값들을 리스트로 가져옵니다.
row_list = worksheet.row_values(row)
# 가져온 셀 값들을 CSV 파일에 한 행으로 씁니다.
csvWriter.writerow(row_list)
# 모든 시트의 데이터를 CSV 파일로 저장한 후 "Save, ok~" 메시지를 출력합니다.
print("Save, ok~")
- “엑셀 파일에서 특정 조건을 충족하는 데이터 추출하기”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 필요한 라이브러리인 xlrd와 xlwt를 임포트합니다.
import xlrd
import xlwt
# xlrd를 사용하여 기존 Excel 파일을 엽니다.
workbook = xlrd.open_workbook('C:/Users/user123/Desktop/learn-py/basic/source/Excel/singer.xls')
# xlwt를 사용하여 새로운 Excel 워크북(파일) 객체를 생성합니다.
outWorkbook = xlwt.Workbook()
# workbook.sheets() 메소드를 사용해 모든 워크시트의 리스트를 가져옵니다.
wsheetList = workbook.sheets()
# 새로운 워크북에 'ginger'라는 이름의 워크시트를 추가합니다.
outSheet = outWorkbook.add_sheet("ginger")
# 기존 워크북의 첫 번째 워크시트를 선택합니다.
worksheet = wsheetList[0]
# 첫 번째 워크시트의 모든 열 제목(첫 번째 행의 모든 셀)을 새 워크시트의 첫 번째 행에 복사합니다.
for col in range(worksheet.ncols):
outSheet.write(0, col, worksheet.cell_value(0, col))
# 'height' 정보가 들어있는 열의 인덱스입니다. 0부터 시작하므로 5번째 열의 인덱스는 4입니다.
idx = 4
# 데이터를 쓸 새 워크시트의 시작 행 번호입니다. 0행은 열 제목을 썼으므로 데이터는 1행부터 시작합니다.
totalRow = 1
# 기존 워크북의 모든 워크시트를 순회합니다.
for worksheet in wsheetList:
# 첫 번째 행(열 제목)을 제외한 각 행에 대해 반복합니다.
for row in range(1, worksheet.nrows):
# 현재 행의 'height' 열에 해당하는 셀 값을 가져옵니다.
height = worksheet.cell_value(row, idx)
try:
# 'height' 값을 정수로 변환하여 165 이상인지 확인합니다.
if int(height) >= 165:
# 조건을 만족하는 행의 모든 셀 값을 새 워크시트에 복사합니다.
for col in range(worksheet.ncols):
outSheet.write(totalRow, col, worksheet.cell_value(row, col))
# 다음 행에 데이터를 쓰기 위해 totalRow 값을 1 증가시킵니다.
totalRow += 1
except ValueError:
# 'height' 값이 정수로 변환될 수 없는 경우(예: 빈 셀, 문자열 등) 여기서 처리합니다.
# 이 경우에는 아무 작업도 수행하지 않고 넘어갑니다.
pass
# 모든 데이터 복사가 완료되면, 새 워크북을 파일로 저장합니다.
outWorkbook.save('C:/Users/user123/Desktop/learn-py/basic/source/Excel/outSinger2.xls')
# 저장이 완료되었다는 메시지를 출력합니다.
print("Excel file has been saved successfully.")
- “xlwt와 csv를 사용하여 CSV 파일을 Excel로 변환하는 방법”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import xlwt # xlwt 라이브러리를 불러와 Excel 파일을 생성할 수 있게 합니다.
import csv # CSV 파일을 읽고 쓰기 위한 csv 라이브러리를 불러옵니다.
import os # 파일 경로를 다루기 위한 os 라이브러리를 불러옵니다.
# CSV 파일 경로 리스트입니다. 이 파일들을 읽어서 Excel 파일로 변환할 겁니다.
csv_f_list = [
"C:/Users/user123/Desktop/learn-py/basic/source/CSV/singerA.csv",
"C:/Users/user123/Desktop/learn-py/basic/source/CSV/singerB.csv"
]
out_work_book = xlwt.Workbook() # 새로운 Excel 워크북(파일) 객체를 생성합니다.
# 리스트에 있는 모든 CSV 파일에 대해 반복 작업을 합니다.
for csv_f_name in csv_f_list:
row_count = 0 # 각 CSV 파일의 행을 세기 위한 카운터입니다.
with open(csv_f_name, "r") as inFp: # CSV 파일을 읽기 모드로 엽니다.
csv_r = csv.reader(inFp) # csv.reader를 사용해 파일을 읽습니다.
header_list = next(csv_r) # 첫 번째 행(헤더)을 읽습니다.
out_sheet = out_work_book.add_sheet(os.path.basename(csv_f_name)) # CSV 파일명을 기반으로 새 시트를 생성합니다.
for col in range(len(header_list)): # 헤더의 각 열에 대해 반복합니다.
out_sheet.write(row_count, col, header_list[col]) # 헤더를 새 시트의 첫 행에 씁니다.
for row_list in csv_r: # CSV 파일의 나머지 행들에 대해 반복합니다.
row_count += 1 # 행 카운터를 1 증가시킵니다.
for col in range(len(row_list)): # 현재 행의 각 열에 대해 반복합니다.
if row_list[col].isnumeric(): # 열의 값이 숫자인 경우
out_sheet.write(row_count, col, float(row_list[col])) # 숫자로 씁니다.
else: # 열의 값이 숫자가 아닌 경우
out_sheet.write(row_count, col, row_list[col]) # 문자열로 씁니다.
# 모든 CSV 파일의 데이터를 새 Excel 파일에 썼으면, 파일을 저장합니다.
out_work_book.save('C:/Users/user123/Desktop/learn-py/basic/source/Excel/SingerCSV.xls')
print('save ok') # 저장이 완료되었다는 메시지를 출력합니다.
- “tkinter로 이미지 파일의 픽셀 데이터 추출하는 방법”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from tkinter import * # tkinter 라이브러리를 불러옵니다. GUI 관련 작업을 할 때 사용해요.
window = Tk() # 새 창을 만듭니다. 지금은 보이지 않아도 괜찮아요.
photo = PhotoImage(file='C:/Users/user123/Desktop/learn-py/basic/source/GIF/pic7.gif') # 이미지 파일을 불러와서 'photo'에 저장합니다.
h = photo.height() # 'photo' 이미지의 높이를 가져와서 'h'에 저장합니다.
w = photo.width() # 'photo' 이미지의 너비를 가져와서 'w'에 저장합니다.
print('이미지 크기 : ', h, 'x',w) # 이미지의 크기(높이와 너비)를 출력합니다.
# RGB 값들을 저장할 리스트를 만듭니다. w x h 크기의 2차원 리스트입니다.
photoR = [[0 for _ in range(h)] for _ in range(w)] # 빨강색 값들을 저장할 곳입니다.
photoG = [[0 for _ in range(h)] for _ in range(w)] # 초록색 값들을 저장할 곳입니다.
photoB = [[0 for _ in range(h)] for _ in range(w)] # 파란색 값들을 저장할 곳입니다.
print(photoR, photoG, photoB)
# 이미지의 모든 픽셀에 대해 반복합니다.
for i in range(w): # 이미지의 모든 '열'에 대해 반복합니다.
for k in range(h): # 각 '열'의 모든 '행'에 대해 반복합니다.
r, g, b = photo.get(i, k) # (i, k) 위치의 픽셀에서 RGB 값을 가져옵니다.
photoR[i][k] = r # 빨강색 값을 'photoR'에 저장합니다.
photoG[i][k] = g # 초록색 값을 'photoG'에 저장합니다.
photoB[i][k] = b # 파란색 값을 'photoB'에 저장합니다.
# [50][50] 위치의 RGB 값을 출력합니다. 이 위치의 빨강, 초록, 파란색 값을 알려줍니다.
print('[50][50] 위치의 RGB 값: ', photoR[50][50], photoG[50][50], photoB[50][50])
- “tkinter를 사용하여 이미지 파일에서 RGB 값을 추출하고 엑셀 파일로 저장”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# tkinter 라이브러리를 불러옵니다. 이 라이브러리는 그래픽 사용자 인터페이스(GUI)를 개발하는데 사용됩니다.
from tkinter import *
# xlsxwriter 라이브러리를 불러옵니다. 이 라이브러리는 엑셀 파일을 생성하고 편집하는데 사용됩니다.
import xlsxwriter
# 새로운 창을 생성합니다. 이 창은 현재는 화면에 보이지 않습니다.
window = Tk()
# 이미지 파일을 불러와 'photo'라는 변수에 저장합니다.
photo = PhotoImage(file='C:/Users/user123/Desktop/learn-py/basic/source/GIF/pic7.gif')
# 이미지의 높이를 가져와서 변수 'h'에 저장합니다.
h = photo.height()
# 이미지의 너비를 가져와서 변수 'w'에 저장합니다.
w = photo.width()
# 이미지의 크기(높이와 너비)를 출력합니다.
print('이미지 크기 : ', h, 'x',w)
# 빨간색, 초록색, 파란색 값을 저장할 2차원 리스트를 생성합니다.
photoR = [[0 for _ in range(h)] for _ in range(w)] # 빨강색 값을 저장할 리스트입니다.
photoG = [[0 for _ in range(h)] for _ in range(w)] # 초록색 값을 저장할 리스트입니다.
photoB = [[0 for _ in range(h)] for _ in range(w)] # 파란색 값을 저장할 리스트입니다.
# 모든 픽셀에 대해 반복합니다.
for i in range(w): # 모든 열에 대해 반복합니다.
for k in range(h): # 각 열의 모든 행에 대해 반복합니다.
# (i, k) 위치의 픽셀에서 빨간, 초록, 파란 색상 값을 가져옵니다.
r, g, b = photo.get(i, k)
# 각 색상 값을 해당하는 리스트에 저장합니다.
photoR[i][k] = r
photoG[i][k] = g
photoB[i][k] = b
# [50][50] 위치의 RGB 값을 출력합니다.
print('[50][50] 위치의 RGB 값: ', photoR[50][50], photoG[50][50], photoB[50][50])
# 엑셀 파일을 생성하고 시트를 추가합니다.
workbook = xlsxwriter.Workbook('C:/Users/user123/Desktop/learn-py/basic/source/Excel/pic7.xlsx')
worksheetR = workbook.add_worksheet('photoR') # 빨간색 시트 생성
worksheetG = workbook.add_worksheet('photoG') # 초록색 시트 생성
worksheetB = workbook.add_worksheet('photoB') # 파란색 시트 생성
# 각 시트에 RGB 값을 작성합니다.
for i in range(w):
for k in range(h):
worksheetR.write(i, k, photoR[i][k]) # 빨간색 시트에 데이터 작성
worksheetG.write(i, k, photoG[i][k]) # 초록색 시트에 데이터 작성
worksheetB.write(i, k, photoB[i][k]) # 파란색 시트에 데이터 작성
# 엑셀 파일을 닫습니다.
workbook.close()
print('저장 완료')
# 이 숫자를 변경하면 이게 그림이 됨
- “RGB 값을 16진수로 표현하여 이미지 색상 표현”
1
2
3
4
5
6
7
8
9
10
11
12
13
# 이미지 색상 표현
hexR = hex(15)
hexG = hex(12)
hexB = hex(3)
hexStr = '#'
if len(hexR[2:]) < 2:
hexStr += '0' + hexR[2:]
else:
hexStr += '0' + hexR[2:]
print(hexStr.upper())
- “이미지 파일의 RGB 값을 추출하여 Excel로 시각화”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# tkinter 라이브러리를 불러옵니다. 이 라이브러리는 그래픽 사용자 인터페이스(GUI)를 개발하는데 사용됩니다.
from tkinter import *
# xlsxwriter 라이브러리를 불러옵니다. 이 라이브러리는 엑셀 파일을 생성하고 편집하는데 사용됩니다.
import xlsxwriter
# 새로운 창을 생성합니다. 이 창은 현재는 화면에 보이지 않습니다.
window = Tk()
# 이미지 파일을 불러와 'photo'라는 변수에 저장합니다.
photo = PhotoImage(file='C:/Users/user123/Desktop/learn-py/basic/source/GIF/pic7.gif')
# 이미지의 높이를 가져와서 변수 'h'에 저장합니다.
h = photo.height()
# 이미지의 너비를 가져와서 변수 'w'에 저장합니다.
w = photo.width()
# 이미지의 크기(높이와 너비)를 출력합니다.
print('이미지 크기 : ', h, 'x',w)
# 빨간색, 초록색, 파란색 값을 저장할 2차원 리스트를 생성합니다.
photoR = [[0 for _ in range(h)] for _ in range(w)] # 빨강색 값을 저장할 리스트입니다.
photoG = [[0 for _ in range(h)] for _ in range(w)] # 초록색 값을 저장할 리스트입니다.
photoB = [[0 for _ in range(h)] for _ in range(w)] # 파란색 값을 저장할 리스트입니다.
# 모든 픽셀에 대해 반복합니다.
for i in range(w): # 모든 열에 대해 반복합니다.
for k in range(h): # 각 열의 모든 행에 대해 반복합니다.
# (i, k) 위치의 픽셀에서 빨간, 초록, 파란 색상 값을 가져옵니다.
r, g, b = photo.get(i, k)
# 각 색상 값을 해당하는 리스트에 저장합니다.
photoR[i][k] = r
photoG[i][k] = g
photoB[i][k] = b
# [50][50] 위치의 RGB 값을 출력합니다.
print('[50][50] 위치의 RGB 값: ', photoR[50][50], photoG[50][50], photoB[50][50])
# 엑셀 파일을 생성하고, 저장 경로를 지정합니다.
workbook = xlsxwriter.Workbook('C:/Users/user123/Desktop/learn-py/basic/source/Excel/picture06_art.xlsx')
# 엑셀 시트를 추가하고 이름을 'photoRGB'로 지정합니다.
worksheet = workbook.add_worksheet('photoRGB')
# 엑셀 시트의 열 너비를 설정합니다.
worksheet.set_column(0, w - 1, 1.0)
# 엑셀 시트의 행 높이를 설정합니다.
for i in range(h):
worksheet.set_row(i, 9.5)
# 이미지의 모든 픽셀에 대해 반복합니다.
for i in range(w):
for k in range(h):
# 각 픽셀의 빨간색, 초록색, 파란색 값을 16진수로 변환합니다.
hexR = format(photoR[i][k], '02x') # 빨간색 값을 16진수로 변환합니다.
hexG = format(photoG[i][k], '02x') # 초록색 값을 16진수로 변환합니다.
hexB = format(photoB[i][k], '02x') # 파란색 값을 16진수로 변환합니다.
# 셀의 배경색을 RGB 값으로 설정합니다.
cell_format = workbook.add_format()
cell_format.set_bg_color('#' + hexR + hexG + hexB) # RGB 값을 조합하여 배경색을 설정합니다.
# 엑셀 시트에 빈 값을 셀에 쓰면서 배경색을 설정합니다.
worksheet.write(k, i, "", cell_format)
# 엑셀 파일을 닫아 저장합니다.
workbook.close()
# 작업이 완료되면 "저장 완료" 메시지를 출력합니다.
print("저장 완료")
This post is licensed under CC BY 4.0 by the author.