2016-11-30 2 views
2

Python 스크립트를 실행하는 Excel 파일이 있습니다. Excel 파일에는 Python 스크립트를 실행하기 전에 새로 고쳐야하는 외부 데이터 연결이 있습니다. 내가 말하는 겁니다 기능은 여기에 있습니다 : 나는 파이썬 2.7을 사용하고 있는데 엑셀 데이터 분석의 대부분을 판다에 의존하고Python을 사용하여 Excel 외부 데이터 새로 고침

Refresh External Data

.

+0

귀하의 질문은 무엇입니까? 나는 그것이 "파이썬에서 데이터 연결을 새로 고칠 수 있습니까?"라고 추측 할 수 있지만 게시물에서 누락되었습니다. –

답변

4

Windows에있는 경우 스크린 샷이 제공된다고 생각하면 win32com 모듈을 사용할 수 있습니다. Python에서부터 Excel을 열고 통합 문서를로드하고 모든 데이터 연결을 새로 고친 다음 종료 할 수 있습니다. 구문은 VBA에 매우 가깝습니다.

pypiwin32은 pip (pip install pypiwin32)를 통해 설치하는 것이 좋습니다.

import win32com.client 

# Start an instance of Excel 
xlapp = win32com.client.DispatchEx("Excel.Application") 

# Open the workbook in said instance of Excel 
wb = xlapp.workbooks.open(<path_to_excel_workbook>) 

# Optional, e.g. if you want to debug 
# xlapp.Visible = True 

# Refresh all data connections. 
wb.RefreshAll() 
wb.Save() 

# Quit 
xlapp.Quit() 
+1

제안 해 주셔서 감사합니다. 이전에이 방법을 시도했지만 불행히도 "이것은 보류중인 데이터 새로 고침을 취소합니다. 계속 하시겠습니까?"라는 메시지가 나타납니다. 대화 상자가 나타나고 아무 반응이 없습니다. – mk8efz

+0

Excel에서 데이터 새로 고침을 완료하고 컴퓨터를 다시 부팅 해 보셨습니까? 이것은 잘 작동해야합니다 –

+2

'xlapp.Quit()'를 호출하기 전에 잠자 러보십시오. 새로 고침이 실행되는 데 걸리는 시간에 따라 다릅니다. – cco

관련 문제