python(二十一)——键盘、鼠标模拟,读取、创建word文件,读取xlsx文件

372 阅读2分钟

目录

 

键盘模拟

鼠标模拟

读取doc文件和docx文件

创建word文件

读取xlsx文件


键盘模拟

 

例子:模拟按下左下角的Windows

import win32con
import win32api
import time

# 按出win控制键
win32api.keybd_event(91,0,0,0)
time.sleep(0.1)
win32api.keybd_event(91,0,win32con.KEYEVENTF_KEYUP,0)

运行结果:

例子:最小化所有显示的窗口

# 最小化所有显示的项目
while True:
    win32api.keybd_event(91,0,0,0)
    time.sleep(0.1)
    win32api.keybd_event(77, 0, 0, 0)
    time.sleep(0.1)
    win32api.keybd_event(77, 0, win32con.KEYEVENTF_KEYUP, 0)
    win32api.keybd_event(91, 0, win32con.KEYEVENTF_KEYUP, 0)
    time.sleep(3)

 

鼠标模拟

例子:相当于在界面的(30,40)位置上连续按下两次

import win32api
import win32con
import time

#设置鼠标的位置
win32api.SetCursorPos([30,40])
time.sleep(0.1)
#鼠标左键按下
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0,0)
#鼠标左键抬起
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0,0)

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0,0)

运行结果: 

 

 

读取doc文件和docx文件

例子:读取doc文件

import win32com
import win32com.client

def readWordFile(path):
    #调用系统word功能,可以处理doc和docxl两种文件
    mw = win32com.client.Dispatch('Word.Application')
    #打开文件
    doc = mw.Documents.Open(path)
    #从文件里取出每一段
    for paragraph in doc.Paragraphs:
        line = paragraph.Range.Text
        print(line)
    #关闭文件
    doc.Close()
    #退出word
    mw.Quit()

path = r'C:\Users\asus\Desktop\a.doc'
readWordFile(path)

运行结果: 

 

创建word文件

例子:创建三个word文件

import win32com
import win32com.client
import os

def makeWordFile(filename,name):
    word = win32com.client.Dispatch('Word.Application')
    #让文档可见
    word.Visible = True
    #创建文档
    doc = word.Documents.Add()
    #写内容
    #从头开始写
    r = doc.Range(0,0)
    r.InsertAfter('你好'+name + '\n')
    r.InsertAfter('      则哇如多。。。\n')
    #存储文件
    doc.SaveAs(filename)
    #关闭文件
    doc.Close()
    # 退出word
    word.Quit()

filenames = ['张三','李四','王五']
for name in filenames:
    filename = os.path.join(os.getcwd(),name)
    makeWordFile(filename,name)

运行结果: 

 

读取xlsx文件

要读取xlsx文件,需要先安装一个openpyxl包

要准备读取的表格文件

例子:显示所有表格的名称

from openpyxl.reader.excel import load_workbook

def readXlsx(path):
    #打开文件
    file = load_workbook(filename=path)
    #所有表格的名称
    print(file.sheetnames)

path = r'C:\Users\asus\Desktop\e.xlsx'
readXlsx(path)

运行结果: 

例子:读取一张表格

from openpyxl.reader.excel import load_workbook

def readXlsx(path):
    #打开文件
    file = load_workbook(filename=path)

    # 拿出一个表格
    sheet = file.worksheets[0]
    #最大行数
    print(sheet.max_row)
    #最大列数
    print(sheet.max_column)
    #表名
    print(sheet.title)

    #读行号
    for lineNum in range(1,sheet.max_row + 1):
        lineList = []
        for columnNum in range(1,sheet.max_column + 1):
            #拿数据
            value = sheet.cell(row=lineNum,column=columnNum).value
            if value != None:
                lineList.append(value)
        print(lineList)

path = r'C:\Users\asus\Desktop\e.xlsx'
readXlsx(path)

运行结果: 

 

 

 

一起学习,一起进步 -.- ,如有错误,可以发评论