8个常用的python办公室自动化技巧

本文介绍了使用Python实现的多个办公自动化技巧,包括Word文档doc转docx、地址批量转经纬度、计算距离、坐标系转换、Excel文件批量合并、Word转PDF、读取Word表格数据以及Outlook批量发邮件。通过这些技巧,可以显著提高工作效率。

平时在公司做数据分析的时候, 也会用python做些办公自动化的工作, 领导昨天说别人3个小时的活我们已经可以3分钟完成了 。 O(∩_∩)O~

本文就给大家介绍几个我用到的办公室自动化技巧:

1 Word文档doc转docx

去年想参赛一个数据比赛, 里面的数据都是doc格式, 想用python-docx 读取word文件中的数据, 但是python-docx只支持docx格式, 所以研究了这两种格式的转换。

1.1 导入工具包

import os
from win32com import client as wc

1.2 获取文件夹下面所有doc文件明细

# 路径
path="C:/Users/yyz/Desktop/python办公技巧/data/doc转docx/"   # 根据自己电脑文件修改

# 定义空list,存放文件绝对路径
files = []
for file in os.listdir(path):
    if file.endswith(".doc"):
        files.append(path+file)
files

在这里插入图片描述
1.3 转换文件

# 运行word程序
word = wc.Dispatch("Word.Application")
# for循环
i = 0
for file in files:
    try:
        doc = word.Documents.Open(file)    #打开word文件
        doc.SaveAs("{}x".format(file), 12)   #另存为后缀为".docx"的文件,其中参数12指docx文件
        doc.Close()  #关闭原来word文件
        print(file +':转换成功')
        i +=1
    except:
        print(file +':转换[不成功]')   
        files.append(file)  # 若读取文件报错, 则将文件名称添加到files列表中重新读取
        pass
print('转换文件%i个'%i)    
# 退出word    
word.Quit()

2 文字地址批量转经纬度

工作中地址转经纬度会用在做地图可视化或者计算距离方面。

2.1 导入工具包

# 导入工具包
import pandas as pd
import json
from urllib.request import urlopen, quote
import requests

2.2 定义转换函数

# 定义函数
def getlnglat(address):
    url = 'http://api.map.baidu.com/geocoding/v3/'
    output = 'json'
    ak = "自己申请的api"   # 百度地图API, 需要自己申请
    address = quote(address) # 由于本文地址变量为中文,为防止乱码,先用quote进行编码
    uri = url + '?' + 'address=' + address  + '&output=' + output + '&ak=' + ak  +'&callback=showLocation%20'+'//GET%E8%AF%B7%E6%B1%82'
    res=requests.get(uri).text
    temp = json.loads(res) # 将字符串转化为json
    lat = temp['result']['location']['lat']
    lng = temp['result']['location']['lng']
    return lng, lat   # 经度 longitude,纬度 latitude,

2.3 地址转换
2.3.1 单个地址转换

# 单个地址转换
getlnglat('北京市朝阳区高碑店地区办事处高井村委会')
(116.52784003604923, 39.91806508560947)

2.3.2 批量地址转换

# 读取数据
data = pd.read_excel('C:/Users/yyz/Desktop/python办公技巧/data/地址信息.xlsx')
data

在这里插入图片描述

data['经度'] = ''
data['纬度'] = 
评论 65
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python技巧(数据分析及可视化)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值