python读取word表格并将表格作为一行属性写入Excel

平台:pycharm
语言:python
读取word中的表格数据,并将表格中的内容写入Excel,在word中的一个表格,在Excel写入后展现为一行数据。为了确保写入的数据比较完整美观,需要对word中的表格数据进行规整处理,否则,会出现重复问题或者空格符。

from docx import Document
import xlwt
import openpyxl
from openpyxl import Workbook, workbook
from openpyxl import load_workbook
from openpyxl.writer.excel import ExcelWriter
import docx

fn = r'E:\PythonProgram\read_word\数据调查表.docx'

doc = docx.Document(fn)

value_list = list()
for table in doc.tables:
    for row in table.rows:
        temp = list()
        for cell in row.cells:
            if cell.text not in temp:
                temp.append(cell.text)
                temp = [x.strip() for x in temp]  # 去除temp中的换行符
                print(cell.text, end=' ')
        value_list.append(temp)

print(len(value_list))
# 获取文档的表格个数
table_num = len(doc.tables)
print("表格总数为%s" % table_num)

# 选取第一个表
table_0 = doc.tables[0]
table_rows = len(table_0.rows)

# 获取第一个表的行数
print("单个表格行数为%s" % table_rows)

# 对value_list进行拆分  使用循环进行切片
j = 22
mm = 0
tablelist = []
for i in range(0, len(value_list)):
    table = value_list[mm:j]
    j = j + 22
    mm = mm + 22
    tablelist.append(table)

# 将list中的list进行规整  循环对table进行规整和写入
wb = load_workbook("E:\\PythonProgram\\read_word\\1.xlsx")
ws = wb['Sheet1']
sheet = wb.active

col = 1
row = 1
listss = []
num = 0
for l in tablelist:
    for j in l:
        for k in j:
            # print(k)
            listss.append(k)
    for cros in listss:
        sheet.cell(row, col).value = cros
        col += 1
    listss.clear()
    row += 1
    col = 1
wb.save("E:\\PythonProgram\\read_word\\1.xlsx")

需要通过命令行对调用的库进行安装:pip install ***

posted @   yokon  阅读(60)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示