Python如何实现将Word表格嵌入到Excel中
导读:本文共1957字符,通常情况下阅读需要7分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 其实就是把Word中的表格转到Excel中,顺便做一个调整。这个需求在实际工作中,很多人还是经常碰到的!如果单单是两个表格,那只要简单的复制黏贴即可,但如果上百了呢?那就得考虑自动化了。好在今天碰到的需求中的原文件格式是比较有规律的,那直接来尝试一下。#首先要pipinstallpython-docx#如果原文件是doc格式,那就先转成docxfromdoc... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。其实就是把Word中的表格转到Excel中,顺便做一个调整。这个需求在实际工作中,很多人还是经常碰到的!
如果单单是两个表格,那只要简单的复制黏贴即可,但如果上百了呢?那就得考虑自动化了。好在今天碰到的需求中的原文件格式是比较有规律的,那直接来尝试一下。
#首先要pipinstallpython-docx#如果原文件是doc格式,那就先转成docxfromdocximportDocumentimportpandasaspdpath="./word表格转excel.docx"docx=Document(path)table_s=docx.tables#返回一个Table对象的列表len(table_s)-->2#返回值是2,因为原文件中只有两个表格list_=[]#初始化一个空列表,用来装后面的dict_fortableintable_s:#循环所有的表格列表dict_={}dict_['名称']=table.cell(0,1).text#表格的索引是从(0行,0列)开始dict_['身份']=table.cell(0,3).textdict_['简介']=table.cell(1,1).textforiinrange(3,len(table.rows)):#后续的内容格式不固定,所以循环获取dict_[table.cell(i,0).text]=table.cell(i,1).textlist_.append(dict_)
当完成上述操作后,list_就会是一个字典列表。
接下来,将列表转为DataFrame进行操作即可。
df=pd.DataFrame(list_)#先将前三列作为索引,然后逆透视其他列,其实这就是个一维表转二维表的过程df=df.set_index(['名称','身份','简介']).stack(level=0).to_frame()#重新设置一下行列索引的名字df.index.names=['名称','身份','简介','物质']df.columns=['现状']
此时的df就跟需求结果相差不大了。
最后将DataFrame导出,稍作美化即可完成需求。
#导出的时候一定要设置index=True不然只会保留一列Seriesdf.to_excel("data3.xlsx",index=True,merge_cells=True)
完整代码
#首先要pipinstallpython-docx#如果原文件是doc格式,那就先转成docxfromdocximportDocumentimportpandasaspdpath="./word表格转excel.docx"docx=Document(path)table_s=docx.tables#返回一个Table对象的列表list_=[]#初始化一个空列表,用来装后面的dict_fortableintable_s:#循环所有的表格列表dict_={}dict_['名称']=table.cell(0,1).text#表格的索引是从(0行,0列)开始的dict_['身份']=table.cell(0,3).textdict_['简介']=table.cell(1,1).textforiinrange(3,len(table.rows)):#循环获得后面的内容dict_[table.cell(i,0).text]=table.cell(i,1).textlist_.append(dict_)df=pd.DataFrame(list_)#先将前三列作为索引,然后逆透视其他列,就是个一维表转二维表的过程df=df.set_index(['名称','身份','简介']).stack(level=0).to_frame()#重新设置一下行列索引的名字df.index.names=['名称','身份','简介','物质']df.columns=['现状']#导出的时候一定要设置index=True不然只会保留一列Seriesdf.to_excel("data3.xlsx",index=True,merge_cells=True)
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:
Python如何实现将Word表格嵌入到Excel中的详细内容,希望对您有所帮助,信息来源于网络。