목차 (작성 예정)
(1) 100% 만족할 파이썬 엑셀 사무 자동화, 회사에서 안 된다면?
(3) 시간 50배 단축, 실무 엑셀 함수 구현 (vlookup, index match 등)
(5) 엑셀 실무용 유용한 함수 및 기능들 파이썬으로 해결
(6) 언제까지 수작업할래? 크롤링과 사진 자동으로 캡쳐, 스샷
1
2
|
import pandas as pd
df = pd.read_csv('111.csv')
|
cs |
전 글에서 pip install 문제 때문에 ipykernel이 설치가 안 돼서 print(1)도 되지 않았다. 이후 문제를 해결하고 1이 출력 됐을 때의 기쁨은 엄청났다. 하지만 그 기쁨도 잠시뿐. 행복한 마음으로 csv 데이터 파일을 열었더니 오류가 이렇게나 길게 나왔다.
문제는 UnicodeDecodeError: 'utf-8' codec can't decode byte 0x9b in position 32: invalid start byte 라고 한다. codec 문제라고 하는데, 예전에도 이런 문제와 부딪혀 봐서 금방 해결할거라 생각했다.
encodig = 'utf-8' / 'euc-kr' / 'cp949' / 'utf-8-sig' 이 중에 한 놈이라도 걸려라 했는데, 한 명도 걸리지 않았다. 그 어떤 것도 되지 않아서.. csv 파일이 문제라고 생각해서 xlsx 확장자를 열어봤는데
ValueError: Excel file format cannot be determined, you must specify an engine manually. 라는 에러 메시지가 출력됐다. 그래서 또 열심히 구글링을 하기 시작했는데 도움이 되지 않았다. 그래도 참고하실 분은 봐주세요.
열심히 찾아봤는데 해결책은 의외로 간단했다.
openpyxl가 아닌, xlwings을 설치하면 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import openpyxl
wb = openpyxl.load_workbook('파일명')
#sheet 열기
sheet = wb['sheet1']
#workbook 생성
wb = openpyxl.Workbook() # 기본 시트 생성됨 sheet1
sheet2 = wb.create_sheet('sheet2') #마지막에 추가
sheet3 = wb.create_sheet('sheet3', 1) #sheet1 자리에 삽입 하여 추가
#시트 이름 변경
sheet2.title = '업무자동화'
#저장
wb.save('./new_test_file.xlsx')
wb.close()
|
cs |
openpyxl 같은 경우 시트별로 불러와서 작업이 가능하지만, 애초에 회사 사내망 때문에 보안이 걸린 엑셀의 경우는 xlwings로만 불러 올 수 있었다. 하지만 xlwings를 사용하는 사람들이 많이 없어서 참고 자료를 찾기 어려워서 다른 방법을 선택했다.
1
2
3
4
|
import xlwings as xw
book = xw.Book('실습1.csv')
df = book.sheets(1).used_range.options(pd.DataFrame).value
df
|
cs |
자료는 회사와 관련이 없는 자료다. 이런 식으로 작업을 하면 바로 엑셀이 실행돼서 동시 작업이 된다. 엑셀 실행이 돼서 기뻤지만 작업을 하지 못 해서 다른 방법이 뭐가 있을까 찾아봤다.
그래도 혹시 궁금해하실 분들을 위해서 관련 링크 걸어놓습니다.
저는 xlwings 대신에 pd.read_clipboard()를 사용하였습니다. 이게 참 훌륭한 기능이라는 걸 깨달았네요. 그냥 가져오고자 하는 데이터를 드래그해서 복사하시면 dataframe이 만들어집니다. 자동으로 행, 열도 생성되고 이거 아니었으면 자동화는 힘들었을거 같네요 ㅠㅠ
그리고 이걸로 긁어와서 만든 파일의 경우 세션(?)이 끊기기 전까지는 csv로 불러서 읽을 수 있습니다! 다만 csv 파일을 열어서 수정을 하게 되면 다시 못 쓴다는 치명적인 단점이... 그래도 수작업을 할 시간에 코드로 자동화를 한다면 훨씬 더 편하니까 이렇게 삥삥 돌아서 갑니다.
다 같이 화이팅 합시다!
'할 수 있다. 파이썬' 카테고리의 다른 글
(4) 실무 엑셀 함수 TOP3 자동화 - VLOOKUP 다중조건, INDEX/MATCH 파이썬으로 (0) | 2022.01.22 |
---|---|
(3) 실무 엑셀 함수 VLOOKUP, INDEX MATCH 시간 50배 단축, 파이썬으로 한 방에 잡자 (0) | 2022.01.21 |
(1) 파이썬 엑셀 사무 자동화 : 회사 사내망 때문에 좌절한 당신... (0) | 2022.01.19 |
유튜브 크롤링(3) 올인원 - 채널 제목, 댓글, 조회수, 자막까지 (9) | 2021.09.29 |
유튜브 크롤링(2) - ㄹㅇ 초간단 유튜브 자막 다운 & 추출 (문장분리까지) (1) | 2021.09.28 |