2015-01-20 83 views
1

我想打印基於數組列表的幻燈片。但不知何故,我不掌握邏輯。我現在的代碼是這樣的用python創建多個ppt幻燈片

totalSheets = [0, 1, 2] 
totalSlides = ['slide', 'slide2', 'slide3'] 


prs = Presentation() 
blank_slide_layout = prs.slide_layouts[6] 
for sheet, slide in zip(totalSheets, totalSlides): 
    sheetExcel = excelFile.sheet_by_index(sheet) 
    slide = prs.slides.add_slide(blank_slide_layout) 

我錯了在幻燈片之一。我只是想,它可以做像幻燈片(N),只是做n + = 1?感謝提前任何幫助

如果你想在列表中實際使用隨機
+0

Uwoah你是對的,prs和空白必須在外面。因爲prs也在循環播放 – lalalala 2015-01-21 03:56:49

+0

似乎沒有任何數據被添加到「幻燈片」。據推測,數據來自'sheetExcel'。你能否更詳細地描述你想要放在幻燈片上的內容?我假設你正在使用[python-pptx](https://python-pptx.readthedocs.org/en/latest/user/quickstart.html)? – Simon 2015-01-21 05:00:42

+0

是的。我從Excel中獲取數據。因此,我使用xlrd和python-pptx – lalalala 2015-01-21 05:03:50

回答

0

,你可以使用這個..

>>> import random 
>>> totalSlides = ['slide', 'slide2', 'slide3'] 
>>> random.choice(totalSlides) 
'slide3' 
>>> random.choice(totalSlides) 
'slide' 
>>> 

對於多發的名單,你可以試試這個..

>>> import random 
>>> totalSlides = ['slide', 'slide2', 'slide3'] 
>>> random.sample(totalSlides, len(totalSlides)) 
['slide2', 'slide3', 'slide'] 
>>> random.sample(totalSlides, len(totalSlides)) 
['slide3', 'slide', 'slide2'] 
>>> random.sample(totalSlides, len(totalSlides)) 
['slide2', 'slide', 'slide3'] 
>>> random.sample(totalSlides, len(totalSlides)) 
['slide3', 'slide2', 'slide'] 
>>> 
+0

但我認爲這個頁面會分散。因爲ppt – lalalala 2015-01-21 03:49:16

+0

中有一個頁面,所以我沒有看到在原始文章中隨機添加幻燈片的任何請求。 – Simon 2015-01-21 18:06:46