2017-01-29 30 views
-2

У меня есть документ Excel с тысячами строк, каждая строка представляет запись человека. Как я могу использовать Python для извлечения каждой строки и записи этой информации на страницу MS Word?Python: печатать каждую строку excel как свою собственную страницу слова ms

Моя цель - создать документ, содержащий псевдо-повествование каждой записи на своей собственной странице.

+2

Хороший способ тратить деревья, а? – zBeeble

ответ

0

Вы можете извлечь содержимое файла Excel в виде кадра данных Pandas и затем экспортировать Data Frame в Word Document в виде таблицы. Это общий синтаксис для достижения вашей цели.

import pandas as pd 
xls_file = pd.ExcelFile('../data/example.xls') 
df = xls_file.parse('Sheet1') 

#Needs PyWin32 
wordApp = win32.gencache.EnsureDispatch('Word.Application') 
wordApp.Visible = False 
doc = wordApp.Documents.Open(os.getcwd()+'\\template.docx') 
rng = doc.Bookmarks("PUTTABLEHERE").Range 

# creating Table 
# add one more row in table at word because you want to add column names as header 
Table=rng.Tables.Add(rng,NumRows=df.shape[0]+1,NumColumns=df.shape[1]) 

for col in range(df.shape[1]):   
# Writing column names 
    Table.Cell(1,col+1).Range.Text=str(df.columns[col]) 
    for row in range(df.shape[0]): 
    # writing each value of data frame 
     Table.Cell(row+1+1,col+1).Range.Text=str(df.iloc[row,col]) 

Надеюсь, это поможет!