【자동화】Python으로 클립보드를 조작하여 Excel에 표를 붙여넣기

클립보드를 조작하고 싶습니다.



클립보드(영: clipboard)는 컴퓨터상에서 일시적으로 데이터를 저장할 수 있는 공유 메모리 영역이다.
(Wikipedia에서)

파이썬에서 클립 보드를 조작하고 싶을 때는 어떻습니까? 라고 생각할 수 있습니다.

예를 들어 이런 상황을 생각해 보십시오.

Python으로 처리한 dataframe(테이블 테이블)을 Excel에 붙여넣고 싶다.
이 Excel 파일이 자신의 PC 안에 있다면, Python으로 그 파일에 직접 기입하면 됩니다만, 그 파일은 사내의 서버상에 있어 Python으로부터 직접 액세스 하는 것이 어렵다…

이런 상황이라면 dataframe을 일단 클립보드에 복사해 두고 수동으로 해당 Excel 파일을 열어 붙여넣으면 편리하죠.

pyperclip으로 클립 보드 작업



클립보드에 복사하거나 클립보드에서 붙여넣으려면 pyperclip이라는 모듈을 사용합니다.

이 pyperclip은 매우 간단하며 pyperclip.copy()pyperclip.paste()가 거의 모두입니다.




조작
기능


클립보드로 복사
pyperclip.copy()

클립보드에서 붙여넣기
pyperclip.paste()


Excel에 표 형식으로 붙여 넣을 클립 보드를 만드는 방법



예를 들어 Excel의 테이블을 복사하여 Excel의 다른 위치에 붙여 넣으면 제대로 테이블이됩니다.

당연할지도 모릅니다만, 조금 이상한 생각이 들지 않습니까?
클립보드에서는 이 "표 형식"을 어떻게 유지합니까?

확인해 봅시다.
아래와 같은 Excel 테이블이 있습니다.



이 표의 A1 ~ E6까지를 Crtl + C로 클립 보드에 복사합니다.
그리고 다음은 파이썬에서 다음과 같이 실행하여 클립 보드의 내용을 확인해 보겠습니다.
import pyperclip

pyperclip.paste()

실행 결과

'大井竹雄\tオオイタケオ\t男\t1960/8/30\t千葉県\r\n長井恵子\tナガイケイコ\t女\t1999/5/21\t高知県\r\n茂木美香\tモギミカ\t女\t1989/3/27\t埼玉県\r\n那須貴子\tナスタカコ\t女\t1981/9/29\t広島県\r\n杉浦昭一\tスギウラショウイチ\t男\t1991/10/31\t兵庫県\r\n'

옆의 열과는 탭(\t)으로, 옆의 행과는 개행 코드(\r\n)로 단락지어지고 있는 것을 알 수 있군요.



즉, 이와 같이 탭(\t)과 개행 코드(\r\n)로 단락지은 문자열을 만들어 pyperclip.copy() 로 클립보드에 카피해 주면, 나머지는 Ctrl+V로 Excel에 표 형식으로 붙여 넣을 수 있다는 것입니다.

해보자.

아래와 같이 실행하여 붙여넣고 싶은 문자열을 클립보드에 복사해 둡니다.
pyperclip.copy("佐々木茂\tササキシゲル\t\t1964/2/13\t和歌山県\r\n三田かなえ\tミタカナエ\t\t1979/10/1\t秋田県\r\n")

그리고 Excel을 열고 붙여 넣으면 ...


제대로 표로 붙여 넣을 수있었습니다!

좋은 웹페이지 즐겨찾기