python - 使用 python import csv 在 MS Word 模板中填充数据
问题描述
我有一个 csv 文件,其中包含代表各个业务信息的数据行。需要从 csv 中的行和列自动填充一个 word 文档模板。是否有执行此操作的 python 命令函数或库?
解决方案
有一个名为的内置 Python 库csv
,可用于解析 CSV 文件。然后要写入 Word 文档,您可以使用名为python-docx
. 以下是读取 CSV 文件并将一些数据写入 Word 文档的基本示例。
阅读 CSV 代码:来源
>>> import csv
>>> with open('eggs.csv', 'rb') as csvfile:
... spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
... for row in spamreader:
... print ', '.join(row)
Spam, Spam, Spam, Spam, Spam, Baked Beans
Spam, Lovely Spam, Wonderful Spam
写到字:来源
from docx import Document
from docx.shared import Inches
document = Document()
document.add_heading('Document Title', 0)
p = document.add_paragraph('A plain paragraph having some ')
p.add_run('bold').bold = True
p.add_run(' and some ')
p.add_run('italic.').italic = True
document.add_heading('Heading, level 1', level=1)
document.add_paragraph('Intense quote', style='Intense Quote')
document.add_paragraph(
'first item in unordered list', style='List Bullet'
)
document.add_paragraph(
'first item in ordered list', style='List Number'
)
document.add_picture('monty-truth.png', width=Inches(1.25))
records = (
(3, '101', 'Spam'),
(7, '422', 'Eggs'),
(4, '631', 'Spam, spam, eggs, and spam')
)
table = document.add_table(rows=1, cols=3)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Qty'
hdr_cells[1].text = 'Id'
hdr_cells[2].text = 'Desc'
for qty, id, desc in records:
row_cells = table.add_row().cells
row_cells[0].text = str(qty)
row_cells[1].text = id
row_cells[2].text = desc
document.add_page_break()
document.save('demo.docx')
希望能帮助到你
推荐阅读
- performance - MarkLogic - 错误日志文件中的慢速 Fsync 通知/警告不断
- azure - 从哪里读取 APPINSIGHTS_INSTRUMENTATIONKEY?
- flutter - bool.fromEnvironment 总是返回 false
- django - 使用 python 将 csv 文件写入 SQL 表
- html - 了解时间 Elelement
- javascript - 如何突出显示传单地图上的标记与表格行上的数据匹配?
- angular - 按数值对对象数组进行排序
- php - 在 echo sumbit 按钮中未在 php 中重定向
- angular - 在运行时将项目动态注入到 Mat Menu
- google-maps - 如何使用颤振在谷歌地图中添加标记?