You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python读取Word文档表格并入库:新手求代码实现指导

用python-docx读取Word表格并存入数据库的代码示例

基础表格读取代码

python-docx 提供了doc.tables属性获取文档内所有表格,通过遍历表格、行、单元格就能提取内容:

import docx

# 打开目标Word文档
doc = docx.Document('Text.docx')

# 遍历文档里的所有表格
for table in doc.tables:
    # 遍历表格的每一行
    for row in table.rows:
        # 提取当前行所有单元格文本,去除首尾空格后存为列表
        row_content = [cell.text.strip() for cell in row.cells]
        # 先打印验证数据,后续可替换为数据库操作
        print(row_content)

结合数据库存储的完整示例

以Python自带的SQLite数据库为例,把读取到的表格数据存入数据库:

import docx
import sqlite3

# 连接SQLite数据库,不存在则自动创建
db_conn = sqlite3.connect('word_data.db')
db_cursor = db_conn.cursor()

# 创建数据表,可根据实际需求调整字段名和类型
db_cursor.execute('''
CREATE TABLE IF NOT EXISTS table_records (
    column1 TEXT,
    column2 TEXT
)
''')

# 读取Word文档
doc = docx.Document('Text.docx')

# 遍历表格并插入数据
for table in doc.tables:
    for idx, row in enumerate(table.rows):
        row_data = [cell.text.strip() for cell in row.cells]
        # 跳过示例表格的第一行标题(可根据自己的表格结构调整判断逻辑)
        if idx == 0 and len(row_data) == 1:
            continue
        # 确保是两列数据再执行插入,避免报错
        if len(row_data) == 2:
            db_cursor.execute('INSERT INTO table_records (column1, column2) VALUES (?, ?)', row_data)

# 提交更改并关闭数据库连接
db_conn.commit()
db_conn.close()

补充说明

  • 如果文档里只有一个表格,可直接用doc.tables[0]替代遍历doc.tables
  • 若使用MySQL、PostgreSQL等数据库,只需替换对应的数据库连接库(如pymysql、psycopg2),核心的读取-插入逻辑保持一致
  • 可根据表格实际结构调整表头跳过、数据校验的规则

内容的提问来源于stack exchange,提问作者Seetha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 03:42:06