当前位置:网站首页>批量读取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)
边栏推荐
- 两分钟录音就可秒变语言通!火山语音音色复刻技术如何修炼而成?
- 腾讯欲成育碧最大股东/ 米哈游招NLP内容生成研究员/ AI发现四千余物种濒临灭绝...今日更多新鲜事在此...
- LeetCode #101. Symmetric Binary Tree
- 基于CAP组件实现补偿事务与幂等性保障
- 【HCIP持续更新】IS-IS协议原理与配置
- Flutter入门进阶之旅(八)Button Widget
- WeChat side: what is consistent hashing, usage scenarios, and what problems does it solve?
- 读写分离后,性能居然提升100%了呀
- Scala Advanced (7): Collection Content Summary (Part 1)
- [Microservice ~ Remote Call] Integrate RestTemplate, WebClient, Feign
猜你喜欢
AI basketball referee, walking is special, ask harden care don't care
苹果Meta都在冲的Pancake技术,中国VR团队YVR竟抢先交出产品答卷
Report: The number of students who want to learn AI has increased by 200%, and there are not enough teachers
Simple understanding of ThreadLocal
Flutter入门进阶之旅(三)Text Widgets
Shell正则表达式,三剑客之grep命令
Intra-group reverse order adjustment of K nodes
放下手机吧:实验表明花20分钟思考和上网冲浪同样快乐
太卷了... 腾讯一面被问到内存满了,会发生什么?
Flutter入门进阶之旅(五)Image Widget
随机推荐
1-hour live broadcast recruitment order: industry big names share dry goods, and enterprise registration opens丨qubit·viewpoint
【微服务~远程调用】整合RestTemplate、WebClient、Feign
Flutter Getting Started and Advanced Tour (2) Hello Flutter
一甲子,正青春,CCF创建六十周年庆典在苏州举行
LeetCode #101. Symmetric Binary Tree
The new features of ABP 6.0.0 - rc. 1
AQS同步组件-FutureTask解析和用例
FFmpeg compiles and installs on win10 (configure libx264)
两分钟录音就可秒变语言通!火山语音音色复刻技术如何修炼而成?
Customize VIEW to realize in-app message reminder to rotate up and down
基于STM32+铂电阻设计的测温仪
The redis library cannot be imported
使用注解将EventBus封装抽取到基类
MySQL principle and optimization of Group By optimization techniques
已解决IndentationError: unindent does not match any oute r indentation Level
世界第4疯狂的科学家,在103岁生日那天去世了
内网穿透工具ngrok使用教程
JD.com architects tidy up: what are the core technical knowledge points of jvm and performance tuning
Ten minutes to teach you how to use VitePress to build and deploy a personal blog site
Flutter入门进阶之旅(五)Image Widget