簡體   English   中英

Python:將每個 excel 行打印為自己的 ms word 頁面

[英]Python: print each excel row as its own ms word page

我有一個包含數千行的 excel 文檔,每一行代表一個人的記錄。 如何使用 Python 提取每一行並將該信息寫入 MS Word 頁面?

我的目標是創建一個文檔,在其自己的頁面上包含每個記錄的偽敘述。

您可以將 Excel 文件的內容提取為 Pandas 數據框,然后將數據框作為表格導出到 Word 文檔中。 這是實現您的目標的通用語法

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])

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM