📜  使用表格Python .docx 模块

📅  最后修改于: 2022-05-13 01:55:31.442000             🧑  作者: Mango

使用表格Python .docx 模块

先决条件: docx

Word 文档包含包装在三个对象级别内的格式化文本。最低级别 - 运行对象,中级别 - 段落对象和最高级别 - 文档对象。因此,我们无法使用普通文本编辑器处理这些文档。但是,我们可以使用 python-docx 模块在Python中操作这些 word 文档。

Python docx 模块允许用户通过操作现有文档或创建新的空文档并对其进行操作来操作文档。它是一个强大的工具,因为它可以帮助您在非常大的范围内操作文档。您还可以使用此模块添加和操作表。

要添加表格,我们将使用 add_table() 方法,因为它将在 Word 文档中添加表格。

首先,我们将所有数据保存在一个列表中,然后我们将创建一个值为rows = 1 和 cols = 2的表对象。然后我们将在表格中添加标题。之后,我们将使用.add_row()方法添加一行,然后我们将在其中添加数据。

表格只能将字符串作为其单元格的输入,因此如果不是,我们必须将数据转换为字符串。

安装

安装这个模块的pip命令是:

pip install python-docx

方法

  • 导入模块
  • 声明 docx 对象
  • 将表数据添加为列表
  • 使用上述函数创建表
  • 保存到文档

示例 1:在 Word 文档中添加表格。

Python3
# Import docx NOT python-docx
import docx
  
# Create an instance of a word document
doc = docx.Document()
  
# Add a Title to the document
doc.add_heading('GeeksForGeeks', 0)
  
# Table data in a form of list
data = (
    (1, 'Geek 1'),
    (2, 'Geek 2'),
    (3, 'Geek 3')
)
  
# Creating a table object
table = doc.add_table(rows=1, cols=2)
  
# Adding heading in the 1st row of the table
row = table.rows[0].cells
row[0].text = 'Id'
row[1].text = 'Name'
  
# Adding data from the list to the table
for id, name in data:
  
    # Adding a row and then adding data in it.
    row = table.add_row().cells
    # Converting id to string as table can only take string input
    row[0].text = str(id)
    row[1].text = name
  
# Now save the document to a location
doc.save('gfg.docx')


Python3
# Import docx NOT python-docx
import docx
  
# Create an instance of a word document
doc = docx.Document()
  
# Add a Title to the document
doc.add_heading('GeeksForGeeks', 0)
  
# Table data in a form of list
data = (
    (1, 'Geek 1'),
    (2, 'Geek 2'),
    (3, 'Geek 3')
)
  
# Creating a table object
table = doc.add_table(rows=1, cols=2)
  
# Adding heading in the 1st row of the table
row = table.rows[0].cells
row[0].text = 'Id'
row[1].text = 'Name'
  
# Adding data from the list to the table
for id, name in data:
  
    # Adding a row and then adding data in it.
    row = table.add_row().cells
    row[0].text = str(id)
    row[1].text = name
  
# Adding style to a table
table.style = 'Colorful List'
  
# Now save the document to a location
doc.save('gfg.docx')


输出:

这样得到的表格是一个简单的表格,但 docx 支持对其进行样式设置的机制。要为表格设置样式,我们使用样式方法来选择样式。

方法

  • 导入模块
  • 创建要作为列表插入的数据
  • 创建表
  • 根据需要设置样式
  • 保存到文档

示例2:在word文档中添加一个带样式的表格。

蟒蛇3

# Import docx NOT python-docx
import docx
  
# Create an instance of a word document
doc = docx.Document()
  
# Add a Title to the document
doc.add_heading('GeeksForGeeks', 0)
  
# Table data in a form of list
data = (
    (1, 'Geek 1'),
    (2, 'Geek 2'),
    (3, 'Geek 3')
)
  
# Creating a table object
table = doc.add_table(rows=1, cols=2)
  
# Adding heading in the 1st row of the table
row = table.rows[0].cells
row[0].text = 'Id'
row[1].text = 'Name'
  
# Adding data from the list to the table
for id, name in data:
  
    # Adding a row and then adding data in it.
    row = table.add_row().cells
    row[0].text = str(id)
    row[1].text = name
  
# Adding style to a table
table.style = 'Colorful List'
  
# Now save the document to a location
doc.save('gfg.docx')

输出: