python处理word⽂档格式_基于python的docx模块处理word和
WPS的do。。。
Python docx module for Word or WPS processing
本⽂是通过docx把word中的表格中的某些已填好的内容提取出来,存⼊excel表格。
⾸先安装docx的python模块:
pip install python-docxpython中文文档
由于处理的为中⽂和符号,改成utf-8编码格式
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
from docx import Document
import pandas as pd
# 打开⽂件
doc = Document(ur'test_1.docx')
为了处理word中以对勾形式勾选的项⽬,采⽤下⾯ 的⽅法
1、⼗字路⼝ √
2、丁字路⼝
3、环形路⼝
4、⼈⾏⽴交
# 取出对号勾选的项⽬
print doc.tables[0].rows[3].cells[2].text
print doc.tables[0].rows[3].cells[2].text.split(u'√')[1].strip().split(' ')[0][2:]
'√' in doc.tables[0].rows[3].cells[2].text # 这个语句可以测试是否含有对勾,
# 有的话就取出对勾后⾯的item,否则直接返回填空的text
True
num_rows = len(doc.tables[0].rows)
print num_rows
xls = pd.read_csv(ur'output.csv')
lumns[0]
diction = {}
# 到每个excel⽂档中需要被记录的键值在docx⽂档表格中的位置
for xlskey lumns:
for row_id in range(num_rows):
row = doc.tables[0].rows[row_id]
for cell_id in range(lls)):
lls[cell_id].text.strip() == xlskey.strip():
diction[xlskey] = [row_id, cell_id]
# 查看⼀下获得的键值位置
for key in list(diction.keys()):
print key, diction[key]
楼层数 [21, 1]
宗地形状 [4, 1]
使⽤权取得时间 [14, 1]
采光通风状况 [19, 1]
已使⽤年限 [21, 4]
建筑朝向 [7, 1]
房屋结构 [17, 1]
交叉路⼝形式 [3, 1]
临街状况 [8, 1]
建筑容积率 [10, 5]
楼宇名称 [15, 5]
质量等级 [18, 1]
周围⼟地利⽤类型 [11, 1]
总建筑⾯积 [20, 1]
宗地位置 [0, 1]
所临道路名称 [2, 1]
装修标准 [16, 1]
那么我们认为这些表头键值对应的填⼊数据就在他们的右边,也就是下⼀个cell,因此我们只需要将row id不变,cell+1,就能取出填表内容。
# 开始填表
for each_column lumns:
pos = diction[each_column]
textion = doc.tables[0].rows[pos[0]].cells[pos[1] + 1].text
if u'√' in textion:
this_text = textion.strip(' ').split(u'√')[1].split()[0][2:]
else:
this_text = textion
xls.loc[0, each_column] = this_text
xls
楼宇名称
宗地位置
所临道路名称
交叉路⼝形式
宗地形状
建筑朝向
临街状况
周围⼟地利⽤类型
装修标准
房屋结构
质量等级
采光通风状况
总建筑⾯积
楼层数
已使⽤年限
建筑容积率
使⽤权取得时间
百兴花园
鄂州市鄂城区凤凰路47-11号
凤凰路
丁字路⼝
多边形
离街
商业⽤地
豪华
1、钢
2、钢、钢混
3、钢混
4、混合
5、砖⽊
6、其它完好
122.7平⽅⽶
8
13年
Succeed
之后只需要⽤⼀个glob函数取出所有的⽂档的path,然后依次执⾏上⾯的命令,即可完成word表格到excel(实际上是csv形式)的⾃动填表过程。
以上这篇基于python的docx模块处理word和WPS的docx格式⽂件⽅式就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持我们。
本⽂标题: 基于python的docx模块处理word和WPS的docx格式⽂件⽅式

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。