python 生成word表格
时间: 2023-08-16 15:03:43 浏览: 112
生成 Word 表格可以使用 Python 的 `python-docx` 库来实现。下面是一个简单的例子:
```python
from docx import Document
from docx.shared import Inches
# 创建一个新的 Word 文档
document = Document()
# 添加一个表格,3 行 4 列
table = document.add_table(rows=3, cols=4)
# 设置表头
hdr_cells = table.rows[0].cells
hdr_cells[0].text = '序号'
hdr_cells[1].text = '姓名'
hdr_cells[2].text = '年龄'
hdr_cells[3].text = '性别'
# 添加数据行
for i in range(1, 4):
row_cells = table.rows[i].cells
row_cells[0].text = str(i)
row_cells[1].text = '张三'
row_cells[2].text = '18'
row_cells[3].text = '男'
# 保存文档
document.save('example.docx')
```
这个例子中,我们首先导入了 `Document` 和 `Inches` 类,分别用于创建 Word 文档和设置表格宽度。接着创建了一个新的 Word 文档,并添加了一个表格。然后设置了表头和数据行,并最后保存文档。
相关问题
windows系统中python读取文件1.txt 提取出文件中指定字段生成word表格
可以使用Python的`docx`库来生成Word表格,使用`re`库来匹配文件中的字段。具体实现步骤如下:
1. 安装`python-docx`库和`re`库:在命令行窗口输入以下命令:
```
pip install python-docx
pip install re
```
2. 导入需要的库:
```python
import docx
import re
```
3. 打开文件并读取内容:
```python
with open('1.txt', 'r', encoding='utf-8') as f:
content = f.read()
```
4. 使用正则表达式匹配需要提取的字段,例如匹配姓名和年龄:
```python
name_pattern = r'姓名:(\w+)'
age_pattern = r'年龄:(\d+)'
name = re.search(name_pattern, content).group(1)
age = re.search(age_pattern, content).group(1)
```
5. 创建Word文档并添加表格:
```python
doc = docx.Document()
table = doc.add_table(rows=2, cols=2)
table.cell(0, 0).text = '姓名'
table.cell(0, 1).text = '年龄'
table.cell(1, 0).text = name
table.cell(1, 1).text = age
```
6. 保存Word文档:
```python
doc.save('output.docx')
```
完整代码如下:
```python
import docx
import re
with open('1.txt', 'r', encoding='utf-8') as f:
content = f.read()
name_pattern = r'姓名:(\w+)'
age_pattern = r'年龄:(\d+)'
name = re.search(name_pattern, content).group(1)
age = re.search(age_pattern, content).group(1)
doc = docx.Document()
table = doc.add_table(rows=2, cols=2)
table.cell(0, 0).text = '姓名'
table.cell(0, 1).text = '年龄'
table.cell(1, 0).text = name
table.cell(1, 1).text = age
doc.save('output.docx')
```
windows系统中python读取文件1.txt 提取出文件中指定行数,或者匹配某个开通或者结尾的内容生成word表格
可以使用Python内置的文件读写和正则表达式模块来实现。具体步骤如下:
1. 打开文件并读取内容:
```python
with open('1.txt', 'r') as f:
content = f.read()
```
2. 提取指定行数或匹配内容:
使用正则表达式模块re来提取内容。比如,如果要提取第1、3、5行的内容,可以使用以下代码:
```python
import re
lines = [1, 3, 5] # 需要提取的行号
pattern = re.compile(r'^.*\n', re.M) # 匹配每一行的内容
matches = re.findall(pattern, content)
result = ''.join([match for i, match in enumerate(matches) if i+1 in lines])
```
如果要提取所有以"hello"开头的行,可以使用以下代码:
```python
import re
pattern = re.compile(r'^hello.*\n', re.M) # 匹配所有以"hello"开头的行
result = ''.join(re.findall(pattern, content))
```
3. 生成Word表格:
使用Python的docx模块来生成Word表格。比如,如果要生成一个2行3列的表格,并将提取的内容填充到表格中,可以使用以下代码:
```python
from docx import Document
from docx.shared import Cm
document = Document()
table = document.add_table(rows=2, cols=3)
for i, cell in enumerate(table.cell_range):
cell.text = result.split('\n')[i]
document.save('output.docx')
```
这样就可以将提取的内容生成到一个Word表格中,并保存为output.docx文件。
阅读全文