'파이썬(Python)' 카테고리의 글 목록 (4 Page)
본문 바로가기

파이썬(Python)111

python(파이썬) openpyxl - 엑셀 시트 추가, 삭제 방법 파이썬 openpyxl 을 이용하여 시트를 추가하는 방법입니다. 미리 만든 엑셀파일을 가져와 wb 변수에 넣겠습니다. create_sheet('시트명', index) 를 써서 엑셀 시트를 추가할 수 있습니다.시트가 추가 되었습니다. 이번에는 전체 시트명을 불러와 보겠습니다. sheetnames 를 사용해서 반복문으로 시트이름을 하나씩 출력해 보았습니다.이번에는 시트를 삭제해 보겠습니다. https://cafe.naver.com/111coding/44?tc=shared_link 파이썬을 10분만에 배우는 방법프로그램밍 언어를 공부하는 것은 외국어를 배우는 것과 상당히 흡사합니다. 우리는 대체로 초등학교 3년, 중학교 3년, 고등학교 3년 최소 9년은 영어를 배웁니다. 하지만,...cafe.naver.com.. 2021. 4. 30.
python openpyxl - 파이썬으로 엑셀의 셀에 음영 색 넣기 파이썬의 openpyxl 모듈을 사용하여 셀에 음영 색을 넣어 보도록 하겠습니다. openpyxl에서 Workbook을 이용해서 새로 엑셀파일을 만들거나, load_workbook을 사용해서 기존 파일을 불러 옵니다. 셀을 색으로 채우기 위해서 openpyxl.styles 에서 PatternFill 을 가져옵니다. 활성화 된 시트를 ws의 변수에 담습니다. PatternFill 함수에서 컬러를 지정해 주고 타입을 solid 지정해 줍니다. 이것을 y_color 라는 변수에 저장합니다. 음영색을 채울 셀에 만든 변수를 넣여주면 됩니다.( ws.cell(3,2).fill=y_color ) 그리고 저장을 합니다. 결과는 아래와 같이 잘 실행되었습니다. 색깔을 지정할 때에는 Hex code를 사용해야 합니다. .. 2021. 4. 27.
python openpyxl - 파이썬으로 엑셀의 열너비, 행높이 변경하기 (여러 행, 열 크기 동시에 조절하기) VBA처럼 파이썬으로 엑셀의 열너비, 행높이를 조절할 수 있습니다. 모듈은 openpyxl 에서 Workbook 이나 load_workbook 중 아무거나 불러오면 됩니다. 저는 임의로 엑셀파일을 만들어서 가져온 다음에 활성화 된 시트를 'ws'라는 변수에 담았습니다. 행 높이를 변경하려면 worksheet function에서 'row_dimensions.height'를 쓰면 됩니다. Column도 비슷한 방법으로 너비를 지정할 수 있습니다. 아쉬운 건 VBA에서는 range를 써서 여러 행이나 열의 크기를 변경할 수 있지만, 파이썬에서는 for 문을 써서 변경해야 하네요. 행은 이렇게 범위를 설정해서 반복해 주면 됩니다. 하지만, 열은 'A', 'B', 'C' 이렇게 되어 있기에 반복문을 쓰기가 곤란합.. 2021. 4. 25.
python(파이썬) openpyxl - 열 위치를 숫자로 가져오기(Get column's index number) 파이썬을 이용해서 엑셀을 사용하는 방법입니다. 반복문을 사용할때 row는 숫자를 이용하면 되는데, 열(column)은 'A', 'B', 'C' ... 이런식으로 되어 있어서 사용하기가 쉽지 않습니다. coulum 위치를 숫자로 변환해서 사용하면 편합니다. openpyxl.utils 에서 get_column_letter 모듈을 임포트 합니다. get_column_letter(index) 이런 식으로 사용하면 됩니다. index 값에 3을 넣으니 'C'가 반환 되었습니다. 2021. 4. 24.
Python(파이썬) openpyxl - 엑셀 셀 테두리 자동으로 선 그리기 Python을 이용하여 엑셀의 원하는 셀에 테두리를 그릴 수 있습니다. 표를 만들거나 문서를 좀 더 보기 좋게 자동으로 만들고 싶을때 활용하면 좋을것 같습니다. 우선 모듈을 불러옵니다. openpyxl.styles 에서 Border 와 Side를 임포트 해 줍니다. 일일이 선을 그릴때마다 속성을 지정해 주기 귀찮으니깐 'box'라는 변수에 속성을 지정해 줍니다. 셀에 지정해 줄때는 ws['A2'] = box 이런식으로 적어 주시면 됩니다. 그런데 표를 만들때는 범위가 "A1:E50" 이런식으로 되기 때문에 for 문을 사용해서 셀 하나씩 테두리를 그려줘야 합니다. (VBA는 좀 더 Range("A1:E50").borders 이런식으로 좀 더 간단한데, 파이썬으로 하려니깐 귀찮네요) 파이썬으로 매크로를 만.. 2021. 4. 22.
파이썬 Pandas - 시각화를 위한 한글 폰트 설정 판다스로 그래프 등을 이용해 시각화를 하다 보면 글꼴이 깨지는 경우가 있습니다. 이럴때는 한글폰트를 설정해 주면 됩니다. plt.rc('font', family='Malgun Gothic') 윈도우의 경우에는 이렇게 설정하고, 맥북의 경우에는 위의 그림과 같이 설정해 주면 됩니다. 그리고 마이너스가 나타나면 오류가 생기는것을 방지하기 위하여 아래와 같이 설정합니다. plt.rc('axes', unicode_minus=False) 그래프가 노트북 안에 보이게 하기 위해서는 아래와 같이 inline 설정을 해줍니다. %matplotlib inline 폰트가 선명하게 보이게 하기 위해서는 아래와 같이 retina 설정을 해 줍니다. from Ipython.display import set_matplotlib_.. 2021. 4. 17.
파이썬으로 엑셀 VBA 매크로를 작동 시키는 방법(Calling Excel VBA Macro script by using Python script) 지난번 포스트에 이어서 파이썬을 통해 엑셀 VBA 매크로를 작동하는 방법에 대해서 포스트 해 보겠습니다. 시작하기 앞서 addin install 과 약간의 설정이 필요한데 이 부분은 아래 포스틀 참고하시기 바랍니다. 2021.03.31 - [파이썬/Python & Excel & VBA] - xlwings - 설치 및 addin 설정 방법 xlwings - 설치 및 addin 설정 방법 제가 컴퓨터 전공도 아니고 업무를 좀 편하게 하고자 VBA를 잔기술을 먼저 배웠습니다. 그런탓에 요즘 유행하는 파이썬을 이용해서 업무 자동화 하기보다는 VBA를 사용하기가 개인적으로는 훨씬 dotsnlines.tistory.com 우선 예제로 엑셀 VBA 코드를 작성해 보겠습니다. 파이썬 파일과 같은 디렉토리에 위와 같이 .. 2021. 4. 1.
xlwings - 설치 및 addin 설정 방법 제가 컴퓨터 전공도 아니고 업무를 좀 편하게 하고자 VBA를 잔기술을 먼저 배웠습니다. 그런탓에 요즘 유행하는 파이썬을 이용해서 업무 자동화 하기보다는 VBA를 사용하기가 개인적으로는 훨씬 편하게 느껴집니다. 하지만, 확장성은 VBA가 Python을 따라가지 못하는 탓에 고민을 계속 하다가 좋은 모듈을 하나 발견했습니다. "xlwings'라는 모듈입니다. 이 모듈을 사용하면 파이썬으로 VBA 코드를 구동할 수 있습니다. 반대로 VBA로 파이썬 코드도 구동할 수 있고요. Anaconda를 설치하시면 패키지로 자동 설치가 되는 모듈입니다.(아나콘다를 아직 설치하지 않으셨다면 아래 링크의 포스트를 참고하시기 바랍니다.) 2020.11.12 - [파이썬/시작 - 아나콘다,파이참 설치] - 파이썬 시작하기 1 -.. 2021. 3. 31.
(파이참/Pycharm) Server's certificate is not trusted error - 에러 해결 방법 회사에서 파이참을 설치를 하려니깐 아무래도 보안 때문에 위와 같이 에러가 생기는 것 같습니다. 보안을 위해서 이것 저것 막아 놓는 것은 좋지만, 직원들이 효율적으로 일할 수 있도록 이런건 좀 풀어줬으면 좋겠는데... 파이썬은 사용자가 많아서 웬만한 에러는 구글링을 해서 해결할 수가 있습니다. 해결방법은 아래와 같습니다. 우선 좌측 상단의 메뉴 중 'File'을 클릭 합니다. 'Settings...'를 클릭 합니다. 왼쪽 메뉴 맨 아래에 있는 'Tools'를 클릭해서 오른쪽에 'Server Certificates'를 클릭합니다. 오른쪽 상단에 "Accept not-trusted certificates automatically'를 체크 합니다. 같은 창에서 'Appearance & Behavior'를 클릭한.. 2021. 3. 30.
python openpyxl - 파일을 열어서 데이터 입력, 가져오기 이번 포스트는 만들어진 엑셀 파일의 데이터를 가져오고, 입력하는 방법에 대하여 알아 보도록 하겠습니다. from openpyxl import load_workbook 모듈을 가져옵니다. wb = load_workbook('cell.xlsx') ws = wb.active 가져올 파일을 wb 변수에 담고, 활성화 된 시트를 ws 변수에 담습니다. for x in range(1,11): for y in range(1,11): print(ws.cell(column=x, row=y).value, end=" ") print() for 문을 써서 column 과 row를 1부터 10까지의 좌표에 값을 가져옵니다. 결과값은 위와 같습니다. 셀의 개수(행과 열의 개수)를 모를때는 아래와 같이 작성하면 됩니다. for x.. 2021. 3. 23.
Python openpyxl - 셀에 값 입력하기 openpyxl 모듈을 이용하여 셀을 다루는 방법에 대해서 알아보도록 하겠습니다. 우선 모듈을 불러옵니다. random 모듈은 셀을 무작위 수로 채울때 쓰기위해 일단 불러오겠습니다. 워크북을 하나 생성해서 wb라는 변수에 만들고, 활성화 된 시트를 ws 변수로 지정하겠습니다. 시트명ㅇ느 'test sheet'로 만들겠습니다. A1 셀부터 B3 셀까지 값을 넣어줍니다. ws['A1'] 으로 프린트를 하면 아래와 같이 셀의 정보가 출력이 됩니다. ws['A2'].value 라고 해야지 값이 출력이 됩니다. 셀의 위치는 숫자로 표시하면 더욱 유용합니다. ws.cell(column=3, row=1, value=10) 이런식으로 값을 입력할 수도 있습니다. 결과값이 제대로 출력이 된 것을 확인할 수 있습니다. f.. 2021. 3. 21.
Python openpyxl - 파일생성, 시트명 바꾸기, 탭색 변경 openpyxl 라이브러리를 이용하여 엑셀파일을 만들어서 저장해 보도록 하겠습니다. 전체 코드는 아래와 같습니다. 1 2 3 4 5 6 7 from openpyxl import Workbook wb = Workbook() ws = wb.active ws.title = 'test_sheet' wb.save('sample.xlsx') wb.close() cs openpyxl 모듈에서 Workbook을 불러오고, Workbook() 은 wb 변수에 저장합니다. ws는 활성화 된 시트를 담을 변수입니다. 시트의 이름은 ws.title='OOO'으로 변경합니다. 현 파일 위치에 만들어진 엑셀파일을 'sample.xlsx'라는 이름으로 저장하고, 워크북을 닫아 줍니다. 실행해 보면 아래와 같이 엑셀파일이 만들어 진.. 2021. 3. 17.
파이썬을 이용해서 주식/ETF의 누적 수익률 비교하기 파이썬을 이용해서 주식 또는 ETF의 누적수익률을 비교해 보겠습니다. pandas_datareader 와 yfinance를 이용해서 주식가격을 가져옵니다. 누적수익율을 구한 두 matplotlib으로 그래프를 그릴 예정입니다. get_data_yahoo 함수를 사용해서 원하는 종목의 가격을 가져옵니다. 시작일은 지정하지 않으면 데이터가 시작하는 날짜부터 자동으로 가져오게 됩니다. 데이터프레임 형식으로 날짜, 시가, 종가, 조정가격등을 가져오게 됩니다. 가져온 데이터 중 종가 column 만 가져와서 지난 종가와 수익율을 구합니다. [(오늘종가-어제종가)/어제종가] X 100 으로 각각의 수익율을 계산합니다. shift 함수를 써서 한칸씩 앞으로 밀리게 하였으며, 밀리면서 자리가 빈 첫번째 행은 0을 입력.. 2021. 1. 5.
파이썬으로 가위바위보 게임 만들기 지난번 우리아들과 만든 주사위 게임에 이어서 이번에는 가위바위보 게임을 만들어 보겠습니다. 모듈은 지난번 주사위 게임과 동일하게 random 모듈이 필요합니다. 그리고 글자 입력을 간단히 하기 위해서 pyautogui를 사용했습니다. 'pyautogui'는 글자가 길어서 간단히 'gui'로 사용하도록 하겠습니다. gui의 prompt 함수로 글자를 입력받고 'you'라는 변수에 입력하겠습니다. "가위, 바위, 보"는 리스트 형태로 저장하겠습니다. 파이썬에서 List는 "[ ]" 형태로 만들면 됩니다. 예를들어 1, 2, 3, 4 라는 리스트를 만들려면 List_num = [1,2,3,4] 이런식으로 만들면 됩니다. List로 저장된 "가위, 바위, 보"가 random 모듈의 chice 함수를 통해서 무작.. 2021. 1. 4.
파이썬으로 주사위 게임 업그레이드 지난번 만든 주사위 게임이 너무 밋밋하다는 의견이 있었습니다. 그래서 에니메이션 효과를 좀 넣었습니다. 포토스케이프 X를 사용하면 gif 파일을 만들 수 있습니다. 여러 그림을 가지고 마치 움직이는 것 처럼 보이게 할 수 있다는 얘기죠. 프레임 속도를 적당히 조절하고 반복횟수는 3회로 해서 6개의 파일을 만들고, 끝나는 그림은 주사위 1에서 6까지 설정합니다. 파일이름은 dice1.gif ~ dice6.gif 로 정했습니다. qt designer의 ui이도 조금 수정 했습니다. MainWindow를 좀 더 크게 만들고 label은 2개를 나란히 배치하였습니다. 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 .. 2021. 1. 3.
파이썬으로 주식(ETF) 간 상관관계 구하기(회귀 분석) 노벨경제학상을 수상한 해리 마코위츠(Harry Markowitz) 박사가 체계화한 현대 포트폴리오 이론(Modern Portfolio Theory, MPT)이 있습니다. 투자에 대한 수익과 위험은 평균과 분산으로 나타낼 수 있으며, 상관관계가 낮은 자산을 대상으로 분산 투자하면 위험을 감소시킬 수 있다는 이론입니다. 이 이론을 바탕으로 주식, ETF, 채권 간 상관관계를 분석할 수 있는 툴을 파이썬으로 만들어 보도록 하겠습니다. 데이터프레임을 만들기 위해 pandas를 import 하고, pandas_datareader와 yfinance 를 이용하여 주식정보(종가)를 가져오도록 하겠습니다. 주식(ETF) 간 상관관계를 확인하기 위해서는 scipy 모듈을 사용하며, 이를 그래프로 나타내기 위해 matplo.. 2021. 1. 2.
파이썬으로 주사위 게임 만들기 3 (qt designer 연결해서 완료하기) 주사위 게임을 만드는 마지막 단계입니다. 이전 포스트를 보셔야 이해가 되시기 때문에 못 보셨다면 아래 링크를 클릭하시기 바랍니다. 2020/12/30 - [파이썬/초등 우리 아이 첫 파이썬] - 초등 우리 아이 첫 파이썬 - 주사위 게임 만들기 2(qt designer를 이용하여 시각화 하기) 지난번 포스트까지 잘 따라 오셨다면 파일은 아래와 같이 있을겁니다. 이제 이 파일을 가지고 코드를 작성해 보도록 하겠습니다. 파이썬 파일을 하나 생성한 다음 열어보도록 하겠습니다. 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 from PyQt5.QtWidgets import * from PyQt5 import uic import sys .. 2021. 1. 1.
openpyxl - 여러 엑셀파일 데이터 가져오기 여러개의 엑셀파일에 있는 데이터를 하나의 엑셀파일로 가져와 보겠습니다. 'Test'라는 이름의 폴더를 만든다음 임의로 엑셀파일을 3개 만들어 보겠습니다. 'Test' 폴더 안에는 각각의 파일에 아래 그림과 같이 글자를 임의로 입력 하였습니다. 전체 코드는 본 포스트의 맨 아래에 있으니 참고하시기 바랍니다. 여러개의 엑셀파일의 데이터를 가져오기 위해서는 총 3개의 모듈이 필요합니다. 'os' 모듈은 정해진 경로의 폴더내에 있는 엑셀파일의 이름을 가져오기 위해 필요하며, openpyxl 패키지의 'Workbook' 과 'load_workbook'은 각각 엑셀파일 생성과 폴더내의 엑셀파일을 열기위해 필요합니다. 폴더의 경로는 'path'라는 변수에 입력합니다. 각 파일의 Worksheet를 'ws'라는 변수에.. 2020. 12. 31.
파이썬으로 주사위 게임 만들기 2(qt designer를 이용하여 시각화 하기) 지난번에 만든 주사위 게임을 시각화 해 보도록 하겠습니다. 지난번 포스트를 못 보셨다면 아래 링크를 참고하시기 바랍니다. ↓ 2020/12/26 - [파이썬/초등 우리 아이 첫 파이썬] - 초등 우리 아이 첫 파이썬 - 주사위 게임 만들기 1 (random 모듈 사용) 전체적인 이미지는 아래와 같이 구성해서 버튼을 클릭하면 주사위가 랜덤으로 나오는 모양을 만들도록 하겠습니다. 이런 것을 UI(User Interface) 즉 사용자 화면이라고 합니다. 이런 디자인을 쉽게 하기 위해서는 qt desinger를 사용하면 됩니다. qt desinger의 위치는 아래 링크를 참고하시면 됩니다.↓ 2020/11/18 - [파이썬/PyQt5] - PyQt5 - qt designer 파일 위치 PyQt5 - qt de.. 2020. 12. 30.
파이썬(Python) - 파일 복사, 삭제하기(os, shutil 모듈) 파일을 복사해 보도록 하겠습니다. 파일이 들어있는 경로를 'origin'이라는 변수에 지정하고, 복사할 경로는 'copy'라는 경로를 지정하겠습니다. 'shutil.copy'를 사용해서 'file.txt'를 복사해 보도록 하겠습니다. 'shutil.copy(원래파일경로, 복사할파일경로)' 이렇게 지정하면 됩니다.'copy'폴더안에 'file.txt'파일이 생성되었습니다. 이번에는 폴더를 생성해서 여러 파일을 복사하는 코드를 작성해 보겠습니다. 모듈을 os , path, shutil 이렇게 임포트 합니다. 원래 파일들이 저장된 경로를 'origin' 이라는 변수에 넣어주고, 복사할 경로는 'copy'라는 경로를 지정해 줍니다. 'origin' 폴더에 모든 파일명을 list로 가져와서 'files'라는 변수.. 2020. 12. 29.