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

目录

 

键盘模拟

鼠标模拟

读取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)

运行结果: 

 

 

 

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

空城机

有钱捧个钱场,没钱捧个人场

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

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

打赏作者

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

抵扣说明:

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

余额充值