Я ищу способ быстро преобразовать папку, содержащую несколько выходных файлов SPSS (.spv), в PDF-файлы. В идеале я хотел бы сделать это с Python, но если есть более простое решение, я весь внимание.
Мне просто нужно, чтобы файл .spv открылся в python, затем нажмите «Файл» -> «Экспорт» -> «PDF».
Я никогда раньше не пробовал свои силы в автоматизации задач на каком-либо языке, поэтому я не знаю, как даже начать это.






Просто для тех, у кого есть похожий вопрос: я не смог создать элегантный конвертер или что-то в этом роде, но я нашел простое решение, просто открывая каждый файл и нажимая «Файл» -> «Экспорт» -> PDF для меня. Я сделал это, используя PyAutoGUI
Вот мой код, кому интересно.
from glob import glob
import pyautogui
import subprocess
import os
import time
import signal
all_files = glob("C://Users//directory//*//*")
screen = pyautogui.size()
#Confirm that your screen is 1920 X 1080
#If not, you'll need to change some of these dimensions
if screen == (1920,1080):
for file in all_files:
if file.endswith('.spv'):
#Have SPSS already open for this to work
p = subprocess.Popen(file, shell=True) #open file
#left to right 0 to 1920
#up to down 0 to 1080
pyautogui.moveTo(22, 50, duration=2) #File
pyautogui.click()
pyautogui.moveTo(22, 230) #Export
pyautogui.click()
pyautogui.moveTo(650, 250) #Choose 'All Visible' option
pyautogui.doubleClick()
pyautogui.doubleClick(800, 820) #Ok
try:
time.sleep(5) #Let SPSS Export, this takes time
#Rename the 'Output.pdf' file
#The "output_directory" is just where SPSS is saving your files
current_directory = os.path.dirname(os.path.realpath(file))
os.chdir("C://Users//output_directory")
for filename in os.listdir("C://Users//output_directory"):
if filename.startswith("OUTPUT.pdf"):
base = os.path.basename(os.path.normpath(file))
renamed, file_extension = os.path.splitext(base)
renamed = renamed + '.pdf'
os.rename(filename, renamed)
#Close SPSS file
pyautogui.click(2875, 5) #File