当前位置:网站首页>批量读取word docx文件指定表格内容,保存在excel文件中
批量读取word docx文件指定表格内容,保存在excel文件中
2022-08-09 12:11:00 【Newnotes】
第一,将DOC文件转换为DOCX文件
第二,将DOCX文中表格内容进行读取并保存
*发文的时候,发文助手说:“此文章质量较低,不会获得较多流量扶持! 可能的原因为:篇幅太短,广告涉嫌违规,外链过多,缺少代码,图片涉嫌违规。”
*发文的时候,发文助手说:“此文章质量较低,不会获得较多流量扶持! 可能的原因为:篇幅太短,广告涉嫌违规,外链过多,缺少代码,图片涉嫌违规。”
*发文的时候,发文助手说:“此文章质量较低,不会获得较多流量扶持! 可能的原因为:篇幅太短,广告涉嫌违规,外链过多,缺少代码,图片涉嫌违规。”
*发文的时候,发文助手说:“此文章质量较低,不会获得较多流量扶持! 可能的原因为:篇幅太短,广告涉嫌违规,外链过多,缺少代码,图片涉嫌违规。”
*发文的时候,发文助手说:“此文章质量较低,不会获得较多流量扶持! 可能的原因为:篇幅太短,广告涉嫌违规,外链过多,缺少代码,图片涉嫌违规。”
*发文的时候,发文助手说:“此文章质量较低,不会获得较多流量扶持! 可能的原因为:篇幅太短,广告涉嫌违规,外链过多,缺少代码,图片涉嫌违规。”
*发文的时候,发文助手说:“此文章质量较低,不会获得较多流量扶持! 可能的原因为:篇幅太短,广告涉嫌违规,外链过多,缺少代码,图片涉嫌违规。”
*发文的时候,发文助手说:“此文章质量较低,不会获得较多流量扶持! 可能的原因为:篇幅太短,广告涉嫌违规,外链过多,缺少代码,图片涉嫌违规。”
*发文的时候,发文助手说:“此文章质量较低,不会获得较多流量扶持! 可能的原因为:篇幅太短,广告涉嫌违规,外链过多,缺少代码,图片涉嫌违规。”
import os
from win32com import client as wc
from win32com import *
import win32com.client
word = wc.Dispatch('Word.Application')
# 将docx文件保存的路径
docxPath = 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject'
# doc文件路径
path = "C:\\Users\\Administrator\\Desktop\\重污染天气企业排污许可副本\\重污染天气企业排污许可副本"
'''
获取doc文件名,创建docx文件路径
'''
def getFileName(path):
filesList = []
for root, dirs, files in os.walk(path):
isExists = os.path.exists(docxPath)
# 新建docx文件夹
if not isExists:
os.makedirs(docxPath)
for file in files:
# 判断尾缀是不是doc
suffix = file.split('.')[1]
if suffix == 'doc':
filesList.append(file)
print(filesList)
return filesList
'''
将doc文件转换成docx文件
'''
def docToDocx(fileNameList):
try:
for fileName in fileNameList:
print("开始处理 文件名:" + fileName)
doc = word.Documents.Open(path + '\\' + fileName)
# [:-4]的意思是选这个字符串从开始到最后倒数第4位(不含)
docxNamePath = docxPath + '\\' + fileName[:-4] + '.docx'
print('转换完成!' + docxNamePath)
doc.SaveAs(docxNamePath, 12, False, "", True, "", False, False, False, False)
finally:
# 一定要记得关闭docx,否则会出现文件占用
doc.Close()
try:
fileNameList = getFileName(path)
docToDocx(fileNameList)
finally:
word.Quit()
from docx import Document
import os
import openpyxl
from openpyxl import Workbook
# 定义指定路径 , 或者自己输入
path = 'C:\\Users\\Administrator\\PycharmProjects\\pythonProject'
# path = input("请输入路径:")
# 新建文件
vv=[]
def excelsave():
workbook = openpyxl.Workbook()
biaoti = [['企业名称', '经度', '纬度']]
wb = Workbook()
wb1 = wb.create_sheet('index', 0)
wb1.title = '管理数据'
filename = 'a.xlsx'
for row2 in range(len(biaoti)):
wb1.append(biaoti[row2])
for row in range(len(vv)):
wb1.append(vv[row])
# wb.save("paiwuxukejianyiguanli.xlsx")
wb.save(filename)
def read(path):
for i in os.listdir(path):
fi_d = os.path.join(path, i)
if os.path.isdir(fi_d):
read(fi_d)
else:
if os.path.splitext(i)[1]=='.docx':
filename=(os.path.join(fi_d))
if filename==r"C:\Users\Administrator\PycharmProjects\pythonProject\venv\Lib\site-packages\docx\templates\default.docx":
print("已经扫描完成,现在要退出了。。。。。。。。。。。。。。。。。")
return
print(filename)
doc = Document(filename)
tables = doc.tables # 获取文档中所有表格对象的列表
print('表格数量', len(tables))
print('------------------------')
qiye = doc.tables[0].rows[0].cells[1] # 获取第一张表第一行第一列数据
jingdu=doc.tables[0].rows[3].cells[1]
weidu=doc.tables[0].rows[3].cells[4]
vv.append([qiye.text,jingdu.text,weidu.text])
print('------------------------')
read(path)
# 打印所有docx的绝对路径
print(vv)
excelsave()
# input("sorry")
#
#
# # Document 类,不仅可以新建word文档,也可以打开一个本地文档
# doc = Document('C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\副本.docx') # 想获取的文档文件名,这里是相对路径。
# tables = doc.tables # 获取文档中所有表格对象的列表
# print('表格数量',len(tables))
# print('------------------------') 读取所有表格内容
# # for t in tables:
# # print(t)
# # rows=t.rows#行数 obj
# # columns=t.columns#列数 obj
# # rows_length = len(t.rows) # 行数
# # columns_length = len(t.columns) # 列数
# # for r_num in range(rows_length):#行遍历
# # r_content = []
# # for r_cell in rows[r_num].cells:
# # r_content.append(r_cell.text)
# # print(r_content)
边栏推荐
猜你喜欢
鹅厂机器狗花式穿越10m梅花桩:前空翻、单桩跳、起身作揖...全程不打一个趔趄...
你没见过的《老友记》镜头,AI给补出来了|ECCV 2022
Resolved IndentationError: unindent does not match any oute r indentation Level
ansible-cmdb friendly display ansible collects host information
How to upload local file trial version in binary mode in ABAP report
两个链表相加
京东架构师呕心整理:jvm与性能调优有哪些核心技术知识点
问题来了:4GB物理内存的机器上申请8G内存能成功吗?
ThreadLocal的简单理解
win10编译x264库(也有生成好的lib文件)
随机推荐
Flutter入门进阶之旅(十)Dialog&Toast
国产抗新冠口服药每瓶不超300元/ 我国IPv6网络全面建成/ 谷歌入局折叠屏手机...今日更多新鲜事在此...
合并两个有序列表
00后写个暑假作业,被监控成这笔样
自定义VIEW实现应用内消息提醒上下轮播
Common gadgets of Shell (sort, uniq, tr, cut)
又有大厂员工连续加班倒下/ 百度搜狗取消快照/ 马斯克生父不为他骄傲...今日更多新鲜事在此...
Two minutes recording can pass by second language!The volcano how to practice and become voice tone reproduction technology?
Compensation transaction and idempotency guarantee based on CAP components
HAproxy:负载均衡
脱光衣服待着就能减肥,当真有这好事?
保存Simulink仿真模型为图片或者PDF的方法
智驾科技完成C1轮融资,此前2轮已融4.5亿元
大佬们,请教一下,我看官方文档中,sqlserver cdc只支持2012版之后的,对于sqlser
系统提供的堆 VS 手动改写堆
内网穿透工具ngrok使用教程
微信小程序支付及退款整体流程
Rust从入门到精通04-数据类型
26、管道参数替换命令xargs
AI篮球裁判火了,走步算得特别准,就问哈登慌不慌