-
word 文档转excel乱码问题
2020-04-06 13:20:29word 文档转excel乱码问题 解决方案一: 另存为:*.mht【单一网页文件】 excel打开 #### 存在问题:部分数据乱码 解决方案二: 另存为:*.xml excel打开 #### 存在问题:原格式展示需要重构 ... -
word文档转换成excel用python_用Python读取Word文档并写入Excel(二)
2020-12-18 17:02:59对于从word文档中得到的信息,我们往往需要写入excel,以便我们做后续的数据处理。在此,我们同样利用win32 的api,写入excel的方法如下:def write_excel(workbook,i_in,name_in,Gender_in,School_in,Major_in,...对于从word文档中得到的信息,我们往往需要写入excel,以便我们做后续的数据处理。在此,我们同样利用win32 的api,写入excel的方法如下:
def write_excel(workbook,i_in,name_in,Gender_in,School_in,Major_in,Grade_in,Birth_in,Telephone_in,QQ_in,
QQEmail_in,Place_in,Address_in,Data_number,Weeks_in,participate_in,other_team_in,Witch_team_in):
first_sheet=workbook.Worksheets(1)//需要获取excel
first_sheet.Cells(i_in,3).value=name_in
first_sheet.Cells(i_in,4).value=Gender_in
first_sheet.Cells(i_in,5).value=School_in
first_sheet.Cells(i_in,6).value=Major_in
first_sheet.Cells(i_in,7).value=Grade_in
first_sheet.Cells(i_in,8).value=Birth_in
first_sheet.Cells(i_in,9).value=Telephone_in
first_sheet.Cells(i_in,10).value=QQ_in
first_sheet.Cells(i_in, 11).value = QQEmail_in
first_sheet.Cells(i_in,12).value =Place_in
first_sheet.Cells(i_in,13).value=Address_in
first_sheet.Cells(i_in, 14).value = Weeks_in
first_sheet.Cells(i_in, 15).value = participate_in
first_sheet.Cells(i_in, 16).value = other_team_in
first_sheet.Cells(i_in, 2).value = Data_number
first_sheet.Cells(i_in, 1).value = Witch_team_in
print('成功写入:'+name_in+" 的信息","这是第",i_in-rember_ever+1,"个")
workbook.Save()
方法里的每条语句都写的很清楚,基本思路就是先创建并获取excel,然后在Cells里即表示保存的位置。
将上一部分的提取和本部分的写入相结合,完整代码如下:
#coding:utf-8
import win32com.client
import os
import win32com
from win32com.client import Dispatch, constants
from docx import Document
import time
def parse_docx(f,i,f_excel,Data_number):
"""读取docx,返回姓名和行业
"""
d = Document(f)
t = d.tables[
c297
0]
t_next=d.tables[1]
#title= t.cell(0,1).text
name = t.cell(1,1).text #1
Gender = t.cell(1,3).text #1
Race = t.cell(1,5).text #1
School=t.cell(2,1).text #1
Edu_back=t.cell(2,4).text #1
Major=t.cell(3,1).text #1
Grade=t.cell(3,4).text #1
Poli_Status=t.cell(4,1).text#1
Place=t.cell(4,3).text #1
ID_card=t.cell(5,1).text #1
Date_birth=t.cell(5,4).text #1
Telephone=t.cell(6,1).text #1
E_mail=t.cell(6,4).text #1
QQ=t.cell(7,1).text #1
Address=t.cell(7,4).text #1
Which_team=t.cell(8,1).text #1
Weeks=t.cell(9,4).text
participate=t.cell(10,4).text
other_team=t.cell(11,4).text
# Other=t_next.cell(1,1).text
print(name, Gender,Race,School,Edu_back,Major,Grade,Poli_Status,Place,ID_card,Date_birth,Telephone,E_mail,QQ,Place,Address,Which_team,
Weeks,participate,other_team,end='\n ')
write_excel(f_excel,i,name,Gender,School,Major,Grade,Date_birth,Telephone, E_mail,QQ,Place,Address,Data_number,
Weeks,participate,other_team,Which_team)
rename("C:\My_Work",f,name,Data_number)
def write_excel(workbook,i_in,name_in,Gender_in,School_in,Major_in,Grade_in,Birth_in,Telephone_in,QQ_in,
QQEmail_in,Place_in,Address_in,Data_number,Weeks_in,participate_in,other_team_in,Witch_team_in):
first_sheet=workbook.Worksheets(1)
first_sheet.Cells(i_in,3).value=name_in
first_sheet.Cells(i_in,4).value=Gender_in
first_sheet.Cells(i_in,5).value=School_in
first_sheet.Cells(i_in,6).value=Major_in
first_sheet.Cells(i_in,7).value=Grade_in
first_sheet.Cells(i_in,8).value=Birth_in
first_sheet.Cells(i_in,9).value=Telephone_in
first_sheet.Cells(i_in,10).value=QQ_in
first_sheet.Cells(i_in, 11).value = QQEmail_in
first_sheet.Cells(i_in,12).value =Place_in
first_sheet.Cells(i_in,13).value=Address_in
first_sheet.Cells(i_in, 14).value = Weeks_in
first_sheet.Cells(i_in, 15).value = participate_in
first_sheet.Cells(i_in, 16).value = other_team_in
first_sheet.Cells(i_in, 2).value = Data_number
first_sheet.Cells(i_in, 1).value = Witch_team_in
print('成功写入:'+name_in+" 的信息","这是第",i_in-rember_ever+1,"个")
workbook.Save()
def rename(path,old_file,newname,Data_number):
'''path="这里替换为你的文件夹的路径";
filelist=os.listdir(path)#该文件夹下所有的文件(包括文件夹)
for files in filelist:#遍历所有文件
Olddir=os.path.join(path,files);#原来的文件路径
if os.path.isdir(Olddir):#如果是文件夹则跳过
continue;'''
Olddir=os.path.join(path,old_file);#原来的文件路径
filename=os.path.splitext(old_file)[0];#文件名
filetype=os.path.splitext(old_file)[1];#文件扩展名
# data_identi=
Newdir=os.path.join(path,str(Data_number)+newname+filetype);#新的文件路径
os.rename(Olddir,Newdir);#重命名
def introduction():
print("美仔你好,感谢使用本软件,它将会快速的帮你完成工作")
print("开始前,请将今天你收集的所有报名表放到C:\My_Work文件夹下,如果已经成功放置,请回复1,之后按回车")
rece_ancer=input()
while (rece_ancer!='1'):
rece_ancer=input("还没准备好嘛,确认好了以后输入1\n")
print("好的,五秒钟后开始工作,在这期间,请不要打开word文档和excel文档哦\n")
time.sleep(1)
print("5")
time.sleep(1)
print("4")
time.sleep(1)
print("3")
time.sleep(1)
print("2")
time.sleep(1)
print("1")
if __name__ == "__main__":
data_identifier = int(input("请输入今天是几月几号,格式如:409、413、421,按回车结束\n"))
while True:
if(data_identifier>=101 and data_identifier<=1230):
break
else:
print("请重新输入")
data_identifier=int(input())
data_identifier = data_identifier * 100+1
print("好的,接下来请按提示操作",data_identifier)
introduction()
w = win32com.client.Dispatch('Word.Application')
excel = win32com.client.Dispatch('Excel.Application')
workbook=excel.Workbooks.open('C:\My_Work\\海口分队报名信息录入表(总表)+日期.xlsx')
excel.Visible=False
i=3
# 遍历文件
PATH = "C:\My_Work" # windows文件路径
doc_files = os.listdir(PATH)
rember_sheet=workbook.Worksheets(1)
for rember_ever in range(3,1000):
Value=rember_sheet.Cells(rember_ever,2).value
print(Value,rember_ever)
if(Value==None):
break
i=rember_ever
print("从上次的第",i,"行录入\n")
for doc in doc_files:
if os.path.splitext(doc)[1] == '.docx':
try:
parse_docx(PATH+'\\'+doc,i,workbook,data_identifier)
i=i+1
data_identifier=data_identifier+1
except Exception as e:
print(e)
elif os.path.splitext(doc)[1] == '.doc':
try:
parse_doc(PATH+'\\'+doc)
except Exception as e:
print (e)
print("全部操作完成,好了,现在你可以到C:\My_Work文件夹下查看数据,","今天一共写了",i-rember_ever,"个人的信息\n")
print("辛苦啦,现在请把C:\My_Work下的报名表复制到对应日期的文件夹内,并从“海口分队报名信息录入表(总表)+日期”这个文件里的信息\n复制到总的信息表上,压缩传到群里\n")
excel.Application.Quit()
time.sleep(150)
-
如何用Python将Word文档转换为Excel表格
2021-01-16 13:25:58本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。 作者:小小明 来源:菜J学Python Python爬虫、数据分析、网站开发等python...如何用Python将Word文档转换为Excel本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。
作者:小小明
来源:菜J学Python
Python爬虫、数据分析、网站开发等python基础教程案例教程视频免费在线观看
https://www.xin3721.com/eschool/pythonxin3721/需求
有一个下面这种形式的word表格:
如何用Python将Word文档转换为Excel表格
希望能转换为下面这种格式的excel表格:
如何用Python将Word文档转换为Excel表格
测试word文档读取
先测试一个word文档前1页的数据读取:from docx import Document
doc = Document(“编号02 质检员高级技师(一级)理论试卷.docx”)
for i, paragraph in enumerate(doc.paragraphs[:55]):
print(i, paragraph.text)
如何用Python将Word文档转换为Excel表格
从读取效果上看,各行文本数据都能很顺利的获取到。
匹配题型、题目和具体的选项
现在我们需要做的是就是匹配题型、题目和具体的选项,观察可以发现规律:题型以大写数字开头
题目以普通数字+.开头
选项以括号+字母开头
❝额外需要注意的:
开头几行文本也存在普通数字+.开头的,需要直接排除。
第7题的题目,和第19题的选项存在一些特殊的空白字符需要排除,
括号和小数点都同时存在半角和全角两种情况。
❞
对于需要注意的第二点:
如何用Python将Word文档转换为Excel表格
查看一下这2处的空白字符:doc.paragraphs[21].text
‘7.(\xa0\xa0)是第一家实施六西格玛管理的公司。\xa0’doc.paragraphs[49].text
‘(A)参数设计 (B)常量设计\u3000 (C)变量设计\u3000\u3000 (D)系统设计’发现分别是\xa0和\u3000。
整理好大致思路,我组织一下处理代码:
import re from docx import Document doc = Document("编号02 质检员高级技师(一级)理论试卷.docx") black_char = re.compile("[\s\u3000\xa0]+") chinese_nums_rule = re.compile("[一二三四]、(.+?)\(") title_rule = re.compile("\d+.") option_rule = re.compile("\([ABCDEF]\)") option_rule_search = re.compile("\([ABCDEF]\)[^(]+") # 从word文档的“一、单项选择题”开始遍历数据 for paragraph in doc.paragraphs[5:25]: # 去除空白字符,将全角字符转半角字符,并给括号之间调整为中间二个空格 line = black_char.sub("", paragraph.text).replace( "(", "(").replace(")", ")").replace(".", ".").replace("()", "( )") # 对于空白行就直接跳过 ifnot line: continue if title_rule.match(line): print("题目", line) elif option_rule.match(line): print("选项", option_rule_search.findall(line)) else: chinese_nums_match = chinese_nums_rule.match(line) if chinese_nums_match: print("题型", chinese_nums_match.group(1))
如何用Python将Word文档转换为Excel表格
从目前测试结果来看没有问题。保存匹配到的数据到结构化字典
现在我打算将当前匹配出来的文本数据存储成字典形式的结构化数据,字典结构的设计如下:如何用Python将Word文档转换为Excel表格
根据上述设计完善代码:
import re from docx import Document from collections import OrderedDict doc = Document("编号02 质检员高级技师(一级)理论试卷.docx") black_char = re.compile("[\s\u3000\xa0]+") chinese_nums_rule = re.compile("[一二三四]、(.+?)\(") title_rule = re.compile("\d+.") option_rule = re.compile("\([ABCDEF]\)") option_rule_search = re.compile("\([ABCDEF]\)[^(]+") # 保存最终的结构化数据 question_type2data = OrderedDict() # 从word文档的“一、单项选择题”开始遍历数据 for paragraph in doc.paragraphs[5:]: # 去除空白字符,将全角字符转半角字符,并给括号之间调整为中间一个空格 line = black_char.sub("", paragraph.text).replace( "(", "(").replace(")", ")").replace(".", ".").replace("()", "( )") # 对于空白行就直接跳过 ifnot line: continue if title_rule.match(line): options = title2options.setdefault(line, []) elif option_rule.match(line): options.extend(option_rule_search.findall(line)) else: chinese_nums_match = chinese_nums_rule.match(line) if chinese_nums_match: question_type = chinese_nums_match.group(1) title2options = question_type2data.setdefault(question_type, OrderedDict())
遍历结构化字典并存储
然后我们遍历结构化字典,将数据保存到pandas对象中:import pandas as pd result = [] max_options_len = 0 for question_type, title2options in question_type2data.items(): for title, options in title2options.items(): result.append([question_type, title, *options]) options_len = len(options) if options_len > max_options_len: max_options_len = options_len
结果:
如何用Python将Word文档转换为Excel表格
最终保存结果:
df.to_excel(“result.xlsx”, index=False)
完整代码
最终完整代码:import pandas as pd import re from docx import Document from collections import OrderedDict doc = Document("编号02 质检员高级技师(一级)理论试卷.docx") black_char = re.compile("[\s\u3000\xa0]+") chinese_nums_rule = re.compile("[一二三四]、(.+?)\(") title_rule = re.compile("\d+.") option_rule = re.compile("\([ABCDEF]\)") option_rule_search = re.compile("\([ABCDEF]\)[^(]+") # 保存最终的结构化数据 question_type2data = OrderedDict() # 从word文档的“一、单项选择题”开始遍历数据 for paragraph in doc.paragraphs[5:]: # 去除空白字符,将全角字符转半角字符,并给括号之间调整为中间一个空格 line = black_char.sub("", paragraph.text).replace( "(", "(").replace(")", ")").replace(".", ".").replace("()", "( )") # 对于空白行就直接跳过 ifnot line: continue if title_rule.match(line): options = title2options.setdefault(line, []) elif option_rule.match(line): options.extend(option_rule_search.findall(line)) else: chinese_nums_match = chinese_nums_rule.match(line) if chinese_nums_match: question_type = chinese_nums_match.group(1) title2options = question_type2data.setdefault( question_type, OrderedDict()) result = [] max_options_len = 0 for question_type, title2options in question_type2data.items(): for title, options in title2options.items(): result.append([question_type, title, *options]) options_len = len(options) if options_len > max_options_len: max_options_len = options_len df = pd.DataFrame(result, columns=[ "题型", "题目"]+[f"选项{i}"for i in range(1, max_options_len+1)]) # 题型可以简化下,去掉选择两个字 df['题型'] = df['题型'].str.replace("选择", "") df.to_excel("result.xlsx", index=False)
最终得到的文件:
如何用Python将Word文档转
换为Excel表格 -
如何将word文档转换成excel格式
2016-08-19 14:32:39excel它直观清晰,处理数据时很方便,所以对于比较中要的表格文件,如果出现在word中,我们都会想办法将其转换成excel,那么怎样把word转换成excel表格格式呢? 今天我们不讲复制粘贴的方法,而是分享一种不易...excel它直观清晰,处理数据时很方便,所以对于比较中要的表格文件,如果出现在word中,我们都会想办法将其转换成excel,那么怎样把word转换成excel表格格式呢?
今天我们不讲复制粘贴的方法,而是分享一种不易出错,操作又简单的方法,就是使用word转换成excel转换器来实现转换;
使用转换工具的第一步就是选择格式(前提是电脑中已经安装了pdf转换器);
选择好转换格式之后就可以添加文件了,值得一提的是转换工具支持批量转换,所以一次添加多个文件;
文件添加好了之后设置一下文件的保存路径;
最后单击开始转换按钮就可以了。(加密的文件不能直接进行转换)。
等待一会转换就能完成,这时打开文件来看看吧。
-
迅捷word转换成excel转换器 迅捷word转换成excel转换器 v6.5
2020-10-18 01:16:42功能:word转换成excel转换器是一款将word文件转换为Excel表格文件,操作灰常的方便。有了word转换成excel转换器,您可以方便的将word文档转换为Excel表格,非常方便的将word里的表格文字、 -
WORD文档怎么转换成EXCEL
2019-06-17 15:26:06EXCEL和WORD都是办公软件,我们使用WORD可以... 第二步:进入在线转换器的首页后,可以看到页面有很多关于办公的功能选项,我们选择文档转换,并在弹出的下拉框内选择“WORD转EXCEL”。第三步:进入转换器的功能页... -
WORD文档转为EXCEL表格
2019-05-24 15:01:52WORD文档也可以转换为EXCEL表格,这样可以方便大家制作表格的需要,像写好的WORD简历需要添加至EXCEL表格内,不需要复制粘贴,也不用一步步填写的,这里面是可以直接转换的,方法小编这就来告诉大家。 第一步:打开... -
JSP生成WORD文档,EXCEL文档及PDF文档的方法
2019-02-17 16:19:00本文实例讲述了JSP生成WORD文档,EXCEL文档及PDF文档的方法。分享给大家供大家参考,具体如下: 在web-oa系统中,公文管理好象不可或缺,有时需要从数据库中查询一些数据以某种格式输出来,并以word文档的形式展现,... -
python实现word文档批量转成自定义格式的excel文档
2020-12-23 01:01:39而word文档是没有固定格式的,想批量录入关系型数据库mysql,必须先转成excel文档。这个如果是手动一个个粘贴到excel表格,那就头大了。 我最终需要的excel文档结构是这样的:每道题独立占1行,每1列是这道题的一项... -
vb批量word转换excel_一键免费转换PPT、Excel和Word文档,无需下载软件
2020-11-24 02:11:42二、Excel格式转换 1、office转换 接下来,如果你想转换Excel的格式,同样打开【文件】后,选择对应的保存类型,这里提供了N种格式可供你进行选择,包括PDF、CSV、网页、XML数据、XPS文档等,经常做数据分析的小... -
word文档、excel文档等office软件转换成swf格式,不要安装任何东西的
2015-05-24 09:16:07我用的是FlexPaper来在线阅读文档,可是要转换成swf文件 -
word ppt excel文档转换成pdf的C#实现代码
2020-09-04 17:52:16主要介绍了word ppt excel文档转换成pdf的C#实现代码,有需要的朋友可以参考一下 -
java读取WORD/EXCEL模板转换生成新WORD/EXCEL文档
2014-07-01 09:40:49原文:java读取WORD/EXCEL模板转换生成新...可以通过预先设置指定的excel和word模板,通过替换文档里面指定的标志来生成新的excel和word文档。excel的部分只是实现了简单的方法。word部分可以支持word2003和word20... -
word如何一键全选_Word转Excel,一招解决!
2021-01-11 01:00:12大家好,我是你们的小可~干货又来啦!工作党试过因工作需要,要将Word...1,Word文档转Excel 直接把word里的文字,复制粘贴到Excel会挤在一起。这里我们用就要用到数据选项卡里的分列功能。1.在word中将所需文本... -
excel转word后表格超出页面_word转excel要怎么操作?word转excel难吗?
2021-01-08 19:27:07人家做表格都是用Excel来做的,毕竟这是专门的表格制作软件,全世界都公认的,但是朋友的这个同事却总是喜欢用Word来做表格,这让与他对接的朋友很是为难,每次都需要将word文档中的内容搬运到Excel表格中。... -
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
2021-01-20 01:42:40而word文档是没有固定格式的,想批量录入关系型数据库mysql,必须先转成excel文档。这个如果是手动一个个粘贴到excel表格,那就头大了。 我最终需要的excel文档结构是这样的:每道题独立占1行,每1列是这道题的一项... -
2篇word文档比较重复率_如何快速把层级分明的word文档转换成横向从属结构的excel表格...
2020-11-25 09:58:52如何快速把层级分明的word文档转换成横向从属结构的excel表格一、问题描述文档如下图所示。文档一共三个层次,大纲级别分别是1、2、3级,左则是其文档结构图,可以看出文档层级分明。最终要将文档转换成如下横向从属... -
poi转excel,word文档为html
2016-05-05 18:25:41poi转excel,word为html,支持2003,2007等版本。 1:excel转html import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.... -
excel split函数_python实现word文档批量转成自定义格式的excel文档
2020-11-21 19:33:15来源:https://blog.csdn.net/Jacky_kplin/article/details/104367844python实现word转成自定义格式的excel文档(解决思路...到了录入试题进行测试的时候了,发现一个问题,试题都是word文档格式的,每份有100题左右... -
excel表格怎么转换成为word文档类型
2016-07-27 11:49:58处理一些数据资料一般都会用excel表格来编辑处理,但是有时编辑其他文档时需要用到一些Excel中的一些数据,这时候就可以直接将Excel表格转换成成为word文档格式,然后在进行编辑,那怎么把Excel转换成word文档格式呢... -
怎么将excel表格转换成word文档
2017-08-23 10:54:00怎么将excel表格转换成word文档?有时候为了工作需要将excel转换成word文档,但是却不知道使用什么工具,下面就简单说一下将excel表格转换成word文档的方法。 1、进行文件之间的转换首先要具备转换软件,可以在... -
word ppt excel文档转换成pdf
2014-01-10 13:56:001.把word文档转换成pdf (1).添加引用 1 using Microsoft.Office.Interop.Word; 添加引用 (2).转换方法 1 /// <summary> 2 /// 把Word文件转换成pdf文件 3 /// </summary> 4 /// &... -
python实现word文档批量转成自定义格式的excel文档的思路及实例代码_word添加页码怎么设置
2020-11-22 21:19:15python实实现现word文文档档批批量量转转成成自自定定义义格格式式的的excel文文档档的的思思路路及及实实例例代代码码 这篇文章主要介绍了python实现word文档批量转成自定义格式的excel文档的解决思路及实例代码...
-
自动化测试Python3+Selenium3+Unittest
-
【硬核】一线Python程序员实战经验分享(1)
-
Bugku CTF web14(Web)
-
libFuzzer视频教程
-
打印字母金字塔
-
仿芝麻信用示例Demo.zip
-
Mysql数据库面试直通车
-
sam-ba_2.12.exe.zip
-
mysql 按月份统计
-
TMU-MVG-material.zip
-
【异常处理】invalid bound statement (not found)解决办法
-
用于测量量块尺寸的激光干涉测量方法研究
-
导出word里的高清图片、公式
-
剑指Offer打卡day6——AcWing 20. 用两个栈实现队列
-
JUC-线程池
-
02. Ubuntu终端操作与Shell命令
-
37岁老码农现身说法:投了500份简历,却只收到了3个面试邀请
-
Jsplumb从入门到实战
-
MySQL 多实例安装 及配置主从复制实验环境
-
基于java的图形化的小说阅读器