最近被已毕业的师兄拉过去给一次会议当注册人员,要挨个给参会人员制作工牌,就是将下面的表单数据里面的人名以及其拼音,按照给的ppt模版手工挨个复制粘贴过去。
虽然参会人员没有成千上万人,我们几个机动注册人员手动干活的话也就拼音那块要手动敲,但爱偷懒的我还是想万物皆可编程解决
,于是很快就想出了以下解决方案:
- 复制姓名一列到
txt
文档中,利用Python
按行读取文档内容转换成list
,安装导入xpinyin
模块,获取每个姓名对应的拼音,将其按行写入到一个新的txt
文档。- 利用
Python
的subprocess.Popen
打开指定路径的ppt
文件,并使用SendKeys
模块以及clipboard
模块对这项纯粹是复制粘贴的重复手工劳动力活进行自动化操作
#1. 文字转拼音
用pip install
安装好官网的xpinyin
然后列出代码,慢慢讲解:
# -*- coding:utf-8 -*-
import requests
import urllib2
import re
import sys
import io
from selenium import webdriver
import time
import math
import os
from pywinauto import application
import SendKeys
import pymouse,pykeyboard,os,sys
from pymouse import *
from pykeyboard import PyKeyboard
import win32api
import win32con
import pyautogui
import subprocess
import win32clipboard as clipboard
import chardet
from xpinyin import Pinyin
p = Pinyin()
def pinyinTransfer(name_list):
pinyin_array=[]
for key in range(0,len(name_list)):
a=name_list[key].decode('utf-8')
b=p.get_pinyin(a, ' ')
# print b
c=b.split(' ')
d=[]
for num in range(0,len(c)):
temp0=c[num].encode('utf-8')
if (num>1):
pass
else:
temp0=temp0.capitalize()
d.append(temp0)
# print d
num=len(d)
pinyin=''.join(d[1::])+'