2个办公秘诀

简介: 7、批量读取word中表格数据7.1工具包安装1pip install python-docx1234# 读取word文件doc = docx.Document('C:/Users/yyz/Desktop/python办公技巧/data/word信息.docx')# 获取文档中所有表格对象的列表biaoges = doc.tables7.2 不规范的表格​​​​​​​12cells = biaoges[1]._cellscells_lis = [[cell.text for cell in cells]]1234

7、批量读取word中表格数据

7.1工具包安装
1

pip install python-docx

1

2

3

4

读取word文件

doc = docx.Document('C:/Users/yyz/Desktop/python办公技巧/data/word信息.docx')

获取文档中所有表格对象的列表

biaoges = doc.tables

7.2 不规范的表格​​​​​​​
1

2

cells = biaoges[1]._cells

cells_lis = [[cell.text for cell in cells]]

1

2

3

4

5

6

import pandas as pd

import numpy as np

datai = pd.DataFrame(cells_lis)

datai = datai[[1,3,7,9,14,16,19,21]]

datai.columns = ['姓名','年龄','籍贯','住址','工作单位','电话','是否党员','出生日期']

datai

7.3 规范数据​​​​​​​
1

2

3

获取第1个表格行丨

rowi = len(biaoges[0].rows)

rowi

1

2

3

4

5

6

7

8

9

定义空列表

lis1 = []

for循环获取第一个表的数据

for i in range(1,rowi): # 从第2行开始循环

lis1.append([biaoges[0].cell(i,0).text,

             biaoges[0].cell(i,1).text,

             biaoges[0].cell(i,2).text,

             biaoges[0].cell(i,3).text,

             biaoges[0].cell(i,4).text])

1

2

3

创建一个dataframe

data1 = pd.DataFrame(lis1,columns=['日期','品类','数量','价格','金额'])

data1

7.4 批量读取​​​​​​​
1

2

3

import pandas as pd

import os

os.chdir('C:/Users/yyz/Desktop/python办公技巧/data/word信息/')

1

2

3

4

5

6

7

8

9

10

11

12

lis1=[]

for file in os.listdir('.'):

if file.endswith('.docx'):

    doc = docx.Document('./'+file)

    biaoges = doc.tables

    rowi = len(biaoges[0].rows)

    for i in range(1,rowi):

        lis1.append([biaoges[0].cell(i,0).text,

                 biaoges[0].cell(i,1).text,

                 biaoges[0].cell(i,2).text,

                 biaoges[0].cell(i,3).text,

                 biaoges[0].cell(i,4).text])

1

2

3

创建dataframe

data1 = pd.DataFrame(lis1,columns=['日期','品类','数量','价格','金额'])

data1

8 用outlook批量发邮件

8.1 导入工具包​​​​​​​
1

2

import win32com.client as win32

import pandas as pd

8.2 读取数据
1

2

3

读取数据

data1 = pd.read_excel('C:/Users/yyz/Desktop/python批量发送邮件.xlsx',sheet_name='发送邮件')

data1.fillna('',inplace=True)

8.3 发送邮件
1

2

3

4

5

6

7

8

9

10

11

12

13

14

运行outlook

outlook = win32.Dispatch("outlook.Application")

for循环发送文件

for i in range(data1.shape[0]):

mail = outlook.CreateItem(0)   # 创建一个邮件对象  win32.constants.olMailItem

mail.To = data1.iloc[i,0]      #收件人

mail.CC = data1.iloc[i,1]      #抄送人

mail.Subject = data1.iloc[i,2]    #邮件主题

mail.HTMLBody = data1.iloc[i,3]           # 邮件正文 html格式

# mail.Body = data1.iloc[i,3] # 邮件正文

mail.Attachments.Add(data1.iloc[i,4])     # 附件

mail.Send() #发送

i +=1

print('发送邮件%i份'%i)

制作不易 点个免费的关注支持一下博主吧

目录
相关文章
|
8月前
|
文字识别 安全 数据安全/隐私保护
OfficeBox万彩办公大师v3.1.2便携版
主要包括PDF 转WORD、PDF分割/合并、PDF页面分割/修剪、PDF偏斜纠正、图片转PDF、彩色PDF转换为黑白、PDF图片抽取、扫描PDF转优化、PDF加链接、PDF水印添加/移除、PDF安全加密解密等19种功能强大的PDF处理工具
73 2
OfficeBox万彩办公大师v3.1.2便携版
|
存储 监控 API
【年终特辑】看见科技创新力量 洞见时代创业精神—企业服务—Vika:目标是取代办公场景下的Excel
【年终特辑】看见科技创新力量 洞见时代创业精神—企业服务—Vika:目标是取代办公场景下的Excel
|
存储 弹性计算 资源调度
梦想加:联合办公智能化之路
2018年梦想加携手阿里云,通过云服务器ECS进行弹性的资源调度,通过弹性伸缩从容应对突发性流量洪流,灵活启停应用环境降低资源成本。
203 0
 梦想加:联合办公智能化之路
|
传感器 人工智能 自然语言处理
重构办公场景 “未来智慧办公室”亮相云栖大会
阿里巴巴通过IoT与AI技术,对物理办公空间的数字化,重构组织、人员、场所、设备、系统的关系,帮助企业提高办公效能,提升组织协同效率。
1031 0
重构办公场景  “未来智慧办公室”亮相云栖大会
|
弹性计算 运维 负载均衡
【云栖号案例 | 教育与科研机构】“校园安全+教务管理+家校互动+教育大数据”创造安全和谐的家校生态环境
作为新成立的教育科技公司,资金预算较少、对系统稳定性、安全性要求高。这套架构以低廉的成本,极力优化系统方案,最大限度提升系统弹性和安全性。
【云栖号案例 | 教育与科研机构】“校园安全+教务管理+家校互动+教育大数据”创造安全和谐的家校生态环境
|
安全 BI
疫情之下如何高效在家办公?这9个“新姿势”用起来
受“新型冠状病毒”疫情影响,法定春节假期延长至2月2日,相关领导人亦发出在家办公的倡议。阿里、新浪、58同城等一大批企业纷纷响应国家号召,提出了让员工在家远程办公的方法,以减少病毒伴随着新一轮的返岗潮进一步扩散。
疫情之下如何高效在家办公?这9个“新姿势”用起来

热门文章

最新文章