python_word_excel 读取-写入

读取word表格数据,写入excel。之上半部

import docx
import os
import numpy as np
import pandas as  pd

import re

path = r'D:\hard_way' #定义word文件路
doc = docx.Document(path+'\ceshi.docx') #读入word文档
len(doc.paragraphs) #段落数量
str_text = []
for i in doc.paragraphs:
    str_text.append(i.text)  #只获取每个段落的文本内容
    #print(i.text)
print(str_text)

english_text = []
for i in str_text:
    if re.search(r'[a-zA-Z]',i): #对获取的内容进行筛选,条件为是否包含英文备注的内容
        english_text.append(i)
        #print(i)
'''
这里是个人需要提取带字母的段落内容
'''

tables = doc.tables #获取所有表格式内容
tab1 =  tables[0] #获取其中一个 

def get_table(table):
	'''
	获取word档中 所有表格内容
	'''
    res = []
    for i in  range(len(table.rows)): 
        #遍历表格的所有行
        data = []
        row_cell = table.rows[i].cells 
        #获取行信息的每一列对应单元格值
        for cell in row_cell:
            #对每一个单元格值遍历 添加至列表
            data.append(cell.text)
            #print(cell.text)
        res.append(data)
        #构建列表嵌套的数据
    return res
tb1 = get_table(tab1)

df = pd.DataFrame(tb1[1:],columns=res[0])
print(tb1)
df.head()


lsts = []
for table in tables:
    table = get_table(table)
    lsts.append(table)
print(len(lsts))

nlst = []
for lst in lsts[::2]:
    #步长为2 选取表格操作,跳过不需要的
    #print(lst)
    nlst.append(lst)

'''
这部分是为获取部分表格数据
'''
lst03 = []
for i in range(0,len(nlst),3):
	#每三个表格
    print(len(nlst[i:i+3]))
len(nlst)

下半部分,还在戳脑袋。就是怎样把english_text 每一个元素,设为tb1 每张excel表的标题。
还有同一个excel中一次性写入多个sheet,惭愧…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值