当前位置:网站首页>批量读取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)
边栏推荐
猜你喜欢
数据挖掘-05
Batch大小不一定是2的n次幂!ML资深学者最新结论
读写分离后,性能居然提升100%了呀
问题来了:4GB物理内存的机器上申请8G内存能成功吗?
HAproxy: load balancing
听声辨物,这是AI视觉该干的???|ECCV 2022
win10编译x264库(也有生成好的lib文件)
Two minutes recording can pass by second language!The volcano how to practice and become voice tone reproduction technology?
Flutter Getting Started and Advanced Tour (2) Hello Flutter
1-hour live broadcast recruitment order: industry big names share dry goods, and enterprise registration opens丨qubit·viewpoint
随机推荐
Simple understanding of ThreadLocal
系统提供的堆 VS 手动改写堆
数据挖掘-06
Flutter Getting Started and Advanced Tour (2) Hello Flutter
罗振宇折戟创业板/ B站回应HR称用户是Loser/ 腾讯罗技年内合推云游戏掌机...今日更多新鲜事在此...
ABP 6.0.0-rc.1的新特性
Flutter入门进阶之旅(三)Text Widgets
苹果Meta都在冲的Pancake技术,中国VR团队YVR竟抢先交出产品答卷
World's 4th mad scientist dies on his 103rd birthday
Glory to the Blue Yonder, speeds up the strategic growth
1-hour live broadcast recruitment order: industry big names share dry goods, and enterprise registration opens丨qubit·viewpoint
无重复字符的最长子串
The core key points of microservice architecture
Go Affair, How to Become a Gopher and Find a Go Job in 7 Days, Part 1
2022牛客多校(六)M. Z-Game on grid
[Microservice ~ Remote Call] Integrate RestTemplate, WebClient, Feign
二叉树的序列化和反序列化
Programmer's Exclusive Romance - Use 3D Engine to Realize Fireworks in 5 Minutes
使用RecyclerView实现三级折叠列表
AQS同步组件-FutureTask解析和用例