当前位置:网站首页>批量读取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)
边栏推荐
- 1-hour live broadcast recruitment order: industry big names share dry goods, and enterprise registration opens丨qubit·viewpoint
- 用 API Factory 产品生成 API 文档
- LeetCode #101. Symmetric Binary Tree
- 腾讯欲成育碧最大股东/ 米哈游招NLP内容生成研究员/ AI发现四千余物种濒临灭绝...今日更多新鲜事在此...
- 如何修改data work上jdbc驱动的版本
- Too much volume... Tencent was asked on the side that the memory was full, what would happen?
- Here comes the question: Can I successfully apply for 8G memory on a machine with 4GB physical memory?
- The redis library cannot be imported
- 荣耀携手Blue Yonder,加快企业战略增长
- 【Untitled】
猜你喜欢

Simple understanding of ThreadLocal

李开复花上千万投的缝纫机器人,团队出自大疆

AI篮球裁判火了,走步算得特别准,就问哈登慌不慌

1小时直播招募令:行业大咖干货分享,企业报名开启丨量子位·视点

Reading and writing after separation, performance were up 100%

Flutter Getting Started and Advanced Tour (3) Text Widgets

Flutter入门进阶之旅(七)GestureDetector

水能自发变成“消毒水”,83岁斯坦福教授:揭示冬天容易得流感的部分原因...

How should the acceptance criteria for R&D requirements be written?| Agile Practices

西湖大学教授怎么看AI制药革命?|量子位智库圆桌实录
随机推荐
使用注解将EventBus封装抽取到基类
26. Pipeline parameter substitution command xargs
微服务架构的核心关键点
告别手摇织布机的AI时代
AI basketball referee, walking is special, ask harden care don't care
世界第4疯狂的科学家,在103岁生日那天去世了
阻塞、非阻塞、多路复用、同步、异步、BIO、NIO、AIO 一锅端
如何修改data work上jdbc驱动的版本
We really need DApp?Really can't meet our fantasy App?
The core key points of microservice architecture
数据挖掘-06
Apexsqlrecover cannot connect to database
Golang学习之路(五):Golang的函数
Flutter入门进阶之旅(八)Button Widget
Report: The number of students who want to learn AI has increased by 200%, and there are not enough teachers
金融业“限薪令”出台/ 软银出售过半阿里持仓/ DeepMind新实验室成立... 今日更多新鲜事在此...
ABAP interview questions: how to use the System CALL interface of the ABAP programming language, direct execution ABAP server operating System's shell command?
Adalvo收购其首个品牌产品Onsolis
腾讯欲成育碧最大股东/ 米哈游招NLP内容生成研究员/ AI发现四千余物种濒临灭绝...今日更多新鲜事在此...
go基础之web获取参数