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 ***
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理