자동화된 파워포인트 생성 시 Python 오류안녕하세요 여러분,
개별 창에 약 10개의 그래프를 출력하는 JSL 스크립트가 있습니다. 저는 각 그래프를 파워포인트의 자체 슬라이드에 입력하는 방법을 연구 중입니다. 내가 본 그림의 복잡성으로 인해 Python의 python-pptx 패키지를 사용하여 이를 수행하는 방법이 있었고 제목이 있는 모든 슬라이드를 만들 수 있지만 그림을 파워포인트에 전혀 가져올 수 없습니다. 아래는 제가 작업 중인 코드 조각이며, 주석 처리된 줄은 중단된 줄입니다. 주석 처리된 줄이 그림과 파워포인트를 올바른 폴더에 넣고 원활하게 열리기 때문에 나는 이것을 알고 있습니다. 그러나 주석을 제거하면 그림이 저장되지만 ppt가 파일 폴더에 저장되는 다음 줄은 발생하지 않으며 마찬가지로 Jmp는 존재하지 않는 파일을 열 수 없다고 말합니다. ppt에서 그림을 얻기 위해 f 문자열을 사용하는 것부터 문자열을 연결하는 것까지 모든 것을 시도했지만 불가능했습니다. 어떤 도움이라도 주시면 감사하겠습니다. 감사해요!
dt = Open("$SAMPLE_DATA/Big Class.jmp");
biv = dt << Bivariate( Y( :height ), X( :weight ) );
ppt_dir = "C:\Users\neel\Documents\new jmp\";
number = "12345678";
graph holding = H List Box();
graph holding << append(Report(biv));
pic holding = H List Box();
pic holding << append(graph holding << get picture);
pic_file = "example.png";
pic holding << Save Picture(ppt_dir || pic_file);
Python Init();
plog = Python Execute({ppt_dir, number, pic_file}, {img_path, left, top, height},
"\[
from pptx import Presentation
from pptx.util import Inches
img_path = ppt_dir + pic_file
prs = Presentation()
slide_1 = prs.slides.add_slide(prs.slide_layouts[0])
slide_1.shapes.title.text = "Review of " + number
slide_2 = prs.slides.add_slide(prs.slide_layouts[5])
slide_2.shapes.title.text = "Results"
slide_3 = prs.slides.add_slide(prs.slide_layouts[5])
slide_3.shapes.title.text = "Summary"
left = top = Inches(2)
#pad_summary_pic = slide_3.shapes.add_picture(img_path, left, top, height=height)
prs.save(rf"{ppt_dir}{number} Review.pptx")
]\"
);
Python Term();
//Open PPT
ppt = ppt_dir || number || " Review.pptx";
Open(ppt);위의 그림은 추가되지 않고 작동합니다.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
biv = dt << Bivariate( Y( :height ), X( :weight ) );
ppt_dir = "C:\Users\neel\Documents\new jmp\";
number = "12345678";
graph holding = H List Box();
graph holding << append(Report(biv));
pic holding = H List Box();
pic holding << append(graph holding << get picture);
pic_file = "example.png";
pic holding << Save Picture(ppt_dir || pic_file);
Python Init();
plog = Python Execute({ppt_dir, number, pic_file}, {img_path, left, top, height},
"\[
from pptx import Presentation
from pptx.util import Inches
img_path = ppt_dir + pic_file
prs = Presentation()
slide_1 = prs.slides.add_slide(prs.slide_layouts[0])
slide_1.shapes.title.text = "Review of " + number
slide_2 = prs.slides.add_slide(prs.slide_layouts[5])
slide_2.shapes.title.text = "Results"
slide_3 = prs.slides.add_slide(prs.slide_layouts[5])
slide_3.shapes.title.text = "Summary"
left = top = Inches(2)
pad_summary_pic = slide_3.shapes.add_picture(img_path, left, top, height=height)
prs.save(rf"{ppt_dir}{number} Review.pptx")
]\"
);
Python Term();
//Open PPT
ppt = ppt_dir || number || " Review.pptx";
Open(ppt);add_picture가 주석 처리되지 않은 것은 그렇지 않습니다.
감사해요,
닐
자동화 및 스크립팅데이터 접근데이터 탐색 및 시각화윈도우Re: 자동화된 파워포인트 생성 시 Python 오류가 발생했습니다.JMP가 전혀 없는 Python 코드처럼 실행해 보셨나요(Python 문제인가요, JMP 문제인가요)? 오류 메시지가 있나요? 내 초기 추측은 경로가 잘못 작성되었을 수 있다는 것입니다. 내가 아는 한, Python에서는 일반적으로 다음을 사용하는 것이 좋습니다. os.path — 일반적인 경로 이름 조작 — Python 3.11.5 문서
Re: 자동화된 파워포인트 생성 시 Python 오류가 발생했습니다.게다가 @jthi 설명: Python 코드를 Python try 블록에 넣고 모든 예외를 포착하고 처리합니다. JMP에서는 예외를 처리하여 이를 숨깁니다. JMP 외부에서 Python 코드를 실행해도 작동합니다.
Python Selenium을 사용한 브라우저 스크립팅 내가 도움이 되었다고 생각하는 try/Exception의 사용 패턴을 보여줍니다. 그것은 돌아온다 RC 어느 쪽이든 좋아요 또는 예외 메시지 텍스트. 퍼팅 수입 try 내부의 진술은 정말 유용했습니다.
Re: 자동화된 파워포인트 생성 시 Python 오류가 발생했습니다.이 (강조 표시된) 것이 나에게 문제가 될 수 있는 것 같습니다.매개변수 "height"와의 충돌을 피하기 위해 변수 "height"의 이름을 바꿀 수도 있습니다.

Re: 자동화된 파워포인트 생성 시 Python 오류가 발생했습니다.안녕하세요. 응답해 주셔서 감사합니다. 높이를 제거하는 솔루션은 제가 깨달은 스크립트에 문제가 있다는 두 가지 중 하나였습니다. 내 감독에게 제안해 주셔서 감사합니다!
Re: 자동화된 파워포인트 생성 시 Python 오류가 발생했습니다.제안해 주셔서 감사합니다. jmp를 통해 Python에서 발생하는 예외/오류를 잡는 더 많은 방법을 살펴보겠습니다. 도움을 주셔서 감사합니다!
Re: 자동화된 파워포인트 생성 시 Python 오류가 발생했습니다.안녕하세요 Jarmo, 경로가 잘못되었다는 귀하의 제안은 실제로 위 코드의 두 가지 잘못된 것 중 하나였습니다. 파일 경로 끝에 있는 \"가 실제로 코드가 파일을 올바른 위치에 제대로 저장하는 것을 방해한다는 사실을 깨닫지 못했습니다. 도와 주셔서 감사합니다!
Re: 자동화된 파워포인트 생성 시 Python 오류가 발생했습니다.제안과 도움을 주신 모든 분들께 감사드립니다! Python만 사용한 문제 해결을 통해 파일 경로와 높이 변수가 모두 파일 저장과 그림을 ppt로 가져오는 것을 방해한다는 것을 깨달았습니다. 누군가 이것을 참조해야 하는 경우를 대비해 작업 코드는 다음과 같습니다!
dt = Open("$SAMPLE_DATA/Big Class.jmp");
biv = dt << Bivariate( Y( :height ), X( :weight ) );
ppt_dir = "C:\Users\srejann\Documents";
number = "12345678";
graph holding = H List Box();
graph holding << append(Report(biv));
pic holding = H List Box();
pic holding << append(graph holding << get picture);
pic_file = "example.png";
pic holding << Save Picture(ppt_dir || "\" || pic_file);
Python Init();
plog = Python Execute({ppt_dir, number, pic_file}, {img_path, left, top},
"\[
from pptx import Presentation
from pptx.util import Inches
img_path = ppt_dir + f"\{pic_file}"
prs = Presentation()
slide_1 = prs.slides.add_slide(prs.slide_layouts[0])
slide_1.shapes.title.text = "Review of " + number
slide_2 = prs.slides.add_slide(prs.slide_layouts[5])
slide_2.shapes.title.text = "Results"
slide_3 = prs.slides.add_slide(prs.slide_layouts[5])
slide_3.shapes.title.text = "Summary"
left = top = Inches(2)
pic = slide_3.shapes.add_picture(img_path, left, top)
prs.save(rf"{ppt_dir}\{number} Review.pptx")
]\"
);
Python Term();
//Open PPT
ppt = ppt_dir || "\" || number || " Review.pptx";
Open(ppt);