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)

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

目录
相关文章
|
1月前
|
存储 数据可视化 项目管理
有哪些“极简风”页面设计的办公协同工具?再不怕眼花缭乱啦!
在快节奏的现代职场中,极简风页面设计的协同工具成为提升工作效率的重要手段。本文介绍了10款极简风设计的办公协同工具,包括板栗看板、Notion、Trello、Slack、Asana、Figma、Invision、Moqups、Coda和Dropbox Paper。这些工具不仅界面简洁直观,功能强大,还能帮助团队高效协作,让工作更加井然有序。
95 43
有哪些“极简风”页面设计的办公协同工具?再不怕眼花缭乱啦!
|
4天前
|
供应链 数据可视化 搜索推荐
旅游行业客服团队效率提升,靠哪款办公软件促成?
冬季旅游市场具有独特魅力与挑战,选择合适的团队协作软件至关重要。本文介绍了六款软件在冬季旅游团队协作中的优势:板栗看板的可视化任务调度和实时互动,Trello 的灵活卡片管理和多平台同步,Asana 的多层次任务架构和全面进度跟踪,Monday.com 的定制化工作流和第三方应用集成,Notion 的一体化工作空间和知识管理,Airtable 的强大数据库功能和多样视图展示。这些软件能有效提升冬季旅游项目的效率和质量。
11 0
|
3月前
|
安全 网络安全 数据安全/隐私保护
智能家居安全指南:保护你的网络家园
在数字化时代,智能家居设备为我们带来了便捷生活的同时,也引入了安全隐患。本文以浅显易懂的语言,介绍了如何保护智能家居免受网络攻击的实用技巧。我们将从智能设备的密码设置、网络安全、软件更新等方面入手,教你如何打造一个安全的智能家居环境。无论你是科技小白还是资深玩家,都能从中获益。让我们一起守护数字生活的安全边界,享受智能技术带来的纯粹乐趣。
50 0
开发设计娱乐游戏直播网络平台,该如何进行?
要开发设计一个优秀的娱乐游戏直播网络平台,可以说是繁杂还有挑战性的工作,但总的来说开发模式就两种,源码开发以及定制开发,虽说这两种开发模式具有本质区别,可是最后的结果是相同的,下列分别就两种开发模式以及优点和缺点进行大概的描写。
|
数据安全/隐私保护 Windows
这五款办公神器一个比一个好用
今天再次推荐5个良心好用的Windows神级软件,每一个都是完全免费,堪称神器,让你打开新世界的大门。
148 0
这五款办公神器一个比一个好用
|
文字识别
五款提高办公效率的黑科技软件,属于是含泪分享给大家了
今天再来推荐5个超级好用的效率软件,无论是对你的学习还是办公都能有所帮助,每个都堪称神器中的神器,用完后觉得不好用你找我。
283 0
五款提高办公效率的黑科技软件,属于是含泪分享给大家了
|
安全 BI
疫情之下如何高效在家办公?这9个“新姿势”用起来
受“新型冠状病毒”疫情影响,法定春节假期延长至2月2日,相关领导人亦发出在家办公的倡议。阿里、新浪、58同城等一大批企业纷纷响应国家号召,提出了让员工在家远程办公的方法,以减少病毒伴随着新一轮的返岗潮进一步扩散。
疫情之下如何高效在家办公?这9个“新姿势”用起来