sydomain

思绪来的快,去的也快,偶尔在这里停留。

python批量提取excel中指定的行

import tkinter as tk
from tkinter import filedialog
import os
import pandas as pd

def process_files():
    folder_path = filedialog.askdirectory()
    if folder_path:
        for file_name in os.listdir(folder_path):
            if file_name.endswith(".xlsx") or file_name.endswith(".xls") or file_name.endswith(".csv"):
                file_path = os.path.join(folder_path, file_name)
                if file_name.endswith(".csv"):
                    df = pd.read_csv(file_path)
                else:
                    df = pd.read_excel(file_path)
                selected_rows = df.iloc[[0, 1, 4, 7]]
                new_file_name = f"new_{file_name}"
                new_file_path = os.path.join(folder_path, new_file_name)
                if file_name.endswith(".csv"):
                    selected_rows.to_csv(new_file_path, index=False)
                else:
                    selected_rows.to_excel(new_file_path, index=False)
                print(f"已处理 {new_file_path}")

root = tk.Tk()
root.title("Excel 指定行")

# 设置窗口大小和位置
window_width = 300
window_height = 150
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
x = (screen_width - window_width) // 2
y = (screen_height - window_height) // 2
root.geometry(f"{window_width}x{window_height}+{x}+{y}")

# 设置窗口背景颜色
root.configure(bg="#f2f2f2")

# 创建标签部件
label = tk.Label(root, text="选择要处理的文件夹", font=("Arial", 14), bg="#f2f2f2")
label.pack(pady=10)

# 创建按钮部件
button = tk.Button(root, text="选择文件夹", font=("Arial", 12), command=process_files)
button.pack(pady=10)

root.mainloop()

python模拟打开小程序,进行下一步操作(半成品)

import pyautogui  
import time
import pyperclip
 
# 模拟按下和松开Win键,以唤起微信  
pyautogui.hotkey("ctrl", "alt", "w")  
time.sleep(2)  # 等待微信窗口出现  
 
click_position_image = 'wechat_search_box.png'
click_position = pyautogui.locateOnScreen(click_position_image, confidence=0.8)
if click_position:
    x, y, width, height = click_position
    pyautogui.click(x + width / 2, y + height / 2)  # 点击截图中指定位置的中心位置
    time.sleep(1)  # 等待一秒钟,确保焦点在输入框中
    text_to_paste = "京东购物小程序"
    #pyautogui.typewrite(text_to_paste)#只能数字,汉字出不来,不友好,建议pyperclip库
    pyperclip.copy(text_to_paste)  # 将文本复制到剪贴板
    pyautogui.hotkey('ctrl', 'v')  # 模拟按下和释放Ctrl+V
    pyautogui.hotkey('down')
    pyautogui.press('enter')
    time.sleep(5)
    print("关键词搜索完成")

    #点击打开京东小程序
    pyautogui.moveTo(1002, 550, 2)
    pyautogui.click()
    time.sleep(5)

唤醒微信并获取当前微信位置坐标以及高度宽度

# 模拟按下和松开Win键,以唤起微信
pyautogui.hotkey("ctrl", "alt", "w")
time.sleep(2)  # 等待微信窗口出现

# 获取微信窗口的位置和大小
wechat_window = pyautogui.getWindowsWithTitle("微信")[0]
wechat_window_x, wechat_window_y, wechat_window_width, wechat_window_height = wechat_window.left, wechat_window.top, wechat_window.width, wechat_window.height


# 打印微信窗口的位置和大小
print("微信窗口位置:({}, {})".format(wechat_window_x, wechat_window_y))
print("微信窗口大小:{} x {}".format(wechat_window_width, wechat_window_height))

# 等待一段时间,以便观察效果
time.sleep(5)

python获取当前的X,Y以及宽度和高度坐标(自动循环获取)

import pyautogui
import time

def search_position():
    time.sleep(1)
    x1, y1 = pyautogui.position()
    print("您当前位置坐标为:", "x:" + str(x1), "y:" + str(y1))
   
    # 获取宽度和高度
    time.sleep(1)
    x2, y2 = pyautogui.position()
    width = abs(x2 - x1)
    height = abs(y2 - y1)
    print("宽度:", width)
    print("高度:", height)

if __name__ == "__main__":
    print("请将鼠标移动到您想要确定宽度和高度的区域的左上角,并记录下该位置的坐标。")
    input("按 Enter 键继续...")
   
    while True:
        search_position()
        pass

python获取当前的X,Y以及宽度和高度坐标,图形界面

import tkinter as tk
import pyautogui
import time

def search_position():
    x1, y1 = pyautogui.position()
    position_label.config(text=f"您当前位置坐标为: x:{x1} y:{y1}")
   
    # 获取宽度和高度
    time.sleep(1)
    x2, y2 = pyautogui.position()
    width = abs(x2 - x1)
    height = abs(y2 - y1)
    width_label.config(text=f"宽度: {width}")
    height_label.config(text=f"高度: {height}")

def start_search():
    info_label.config(text="请将鼠标移动到您想要确定宽度和高度的区域的左上角并记录下该位置的坐标。")
    search_button.config(state=tk.DISABLED)
    root.after(1000, search_position)

def reset_search():
    position_label.config(text="您当前位置坐标为: ")
    width_label.config(text="宽度: ")
    height_label.config(text="高度: ")
    search_button.config(state=tk.NORMAL)

root = tk.Tk()
root.title("位置搜索")
root.geometry("500x250")

info_label = tk.Label(root, text="请按下开始按钮开始搜索位置")
info_label.pack(pady=10)

position_label = tk.Label(root, text="您当前位置坐标为: ")
position_label.pack()

width_label = tk.Label(root, text="宽度: ")
width_label.pack()

height_label = tk.Label(root, text="高度: ")
height_label.pack()

search_button = tk.Button(root, text="开始", command=start_search)
search_button.pack(pady=10)

reset_button = tk.Button(root, text="重新获取", command=reset_search)
reset_button.pack(pady=5)

root.mainloop()

python页面滚动讲解

用法一

#页面向下滚动500像素
pyautogui.FAILSAFE = False
pyautogui.scroll(-500)
time.sleep(2)
print("页面已滚动")

用法二

浅谈python(pyperclip)库的函数用法

pyperclip是一个Python库,用于访问系统剪贴板(clipboard)。它提供了一些函数和方法,用于读取和写入剪贴板的内容。下面是一些常用的pyperclip函数的详细解释:


copy(text):将指定的文本内容复制到剪贴板中。参数text是要复制的文本字符串。

浅谈python(pyautogui)库中各个函数和方法

pyautogui是一个Python库,提供了一些函数和方法,用于自动化控制鼠标和键盘操作。下面是一些常用的pyautogui函数的详细解释:

其用法书写格式:pyautogui.moveTo(x, y, duration=0.0)

JD购物python(模拟真人自然搜索(鼠标键盘控制))

# -*- coding: UTF-8 -*-
import time
# 引入pyautogui模块以操作快捷键
import pyautogui
import win32com.client
# 引入pyperclip模块以操作剪切板
import pyperclip
from tkinter import messagebox  

speaker = win32com.client.Dispatch("sapi.SpVoice")

# 打开浏览器
pyautogui.hotkey('win', 'r')
time.sleep(1)
pyautogui.typewrite('chrome')
#pyautogui.typewrite('https://search.jd.com/')
pyautogui.press('enter')
time.sleep(1)
pyautogui.hotkey('alt', ' ', 'x')#窗口最大化
time.sleep(1)
pyautogui.hotkey('ctrl', ' ')#输入法切换到英文
time.sleep(5)
print("浏览器已打开")

# 添加关键词搜索
pyautogui.hotkey('alt', 'd')#全选搜索栏
time.sleep(2)
pyautogui.typewrite('jd.com')
pyautogui.press('enter')
time.sleep(5)
print("进入京东网站")

#点击京东搜索框进行关键词的搜索
click_position_image = 'sousuo.png'
click_position = pyautogui.locateOnScreen(click_position_image, confidence=0.8)
if click_position:
    x, y, width, height = click_position
    pyautogui.click(x + width / 2, y + height / 2)  # 点击截图中指定位置的中心位置
    time.sleep(1)  # 等待一秒钟,确保焦点在输入框中
    text_to_paste = "三七口服液"
    #pyautogui.typewrite(text_to_paste)#只能数字,汉字出不来,不友好,建议pyperclip库
    pyperclip.copy(text_to_paste)  # 将文本复制到剪贴板
    pyautogui.hotkey('ctrl', 'v')  # 模拟按下和释放Ctrl+V
    pyautogui.press('enter')
    time.sleep(5)
    print("关键词搜索完成")

#页面向下滚动500像素
pyautogui.FAILSAFE = False
pyautogui.scroll(-500)
time.sleep(2)
print("页面已滚动")
 
# 根据截图定位到特定位置并点击  
# 假设您有一个包含点击位置截图的路径,例如 'click_position.png' 
click_position_image = 'click_position.png'  
click_position = pyautogui.locateOnScreen(click_position_image, confidence=0.8)  
if click_position:  
    x, y, width, height = click_position  
    pyautogui.click(x + width / 2, y + height / 2)  # 点击截图中指定位置的中心位置
    time.sleep(10)
    print("随机流览图1完成")

# 回到上一页
pyautogui.hotkey('ctrl', 'shift', 'tab')
time.sleep(5)
print("已回到上一页")
 
# 根据截图定位到特定位置并点击  
# 假设您有一个包含点击位置截图的路径,例如 'click_position.png' 
click_position_image = 'click_position1.png'  
click_position = pyautogui.locateOnScreen(click_position_image, confidence=0.8)  
if click_position:  
    x, y, width, height = click_position  
    pyautogui.click(x + width / 2, y + height / 2)  # 点击截图中指定位置的中心位置
    time.sleep(10)
    print("随机流览图2完成")

# 回到上一页
pyautogui.hotkey('ctrl', 'shift', 'tab')
time.sleep(5)
print("已回到上一页")
# 回到上一页
#pyautogui.moveTo(159, 11, 2)
#pyautogui.click()
#time.sleep(5)

# 根据截图定位到特定位置并点击  
# 假设您有一个包含点击位置截图的路径,例如 'click_position.png' 
click_position_image = 'click_position2.png'  
click_position = pyautogui.locateOnScreen(click_position_image, confidence=0.8)  
if click_position:  
    x, y, width, height = click_position  
    pyautogui.click(x + width / 2, y + height / 2)  # 点击截图中指定位置的中心位置
    time.sleep(5)
    print("随机流览图3完成")

#加入购物车
click_position_image = 'gouwuche.png'  
click_position = pyautogui.locateOnScreen(click_position_image, confidence=0.8)  
if click_position:  
    x, y, width, height = click_position  
    pyautogui.click(x + width / 2, y + height / 2)  # 点击截图中指定位置的中心位置
    time.sleep(5)
    print("加入购物车完成")
#去购物车结算
click_position_image = 'qugouwuchejiesuan.png'  
click_position = pyautogui.locateOnScreen(click_position_image, confidence=0.8)  
if click_position:  
    x, y, width, height = click_position  
    pyautogui.click(x + width / 2, y + height / 2)  # 点击截图中指定位置的中心位置
    time.sleep(5)
    print("去购物车结算完成")
#去结算
click_position_image = 'qujiesuan.png'  
click_position = pyautogui.locateOnScreen(click_position_image, confidence=0.8)  
if click_position:  
    x, y, width, height = click_position  
    pyautogui.click(x + width / 2, y + height / 2)  # 点击截图中指定位置的中心位置
    time.sleep(5)
    print("去结算完成")
#提交订单

    pyautogui.FAILSAFE = False
    pyautogui.scroll(-500)
    time.sleep(2)
    print("页面已滚动")

click_position_image = 'tijiaodingdan.png'  
click_position = pyautogui.locateOnScreen(click_position_image, confidence=0.8)  
if click_position:  
    x, y, width, height = click_position  
    pyautogui.click(x + width / 2, y + height / 2)  # 点击截图中指定位置的中心位置
    time.sleep(5)
    print("提交订单完成")

# 关闭页面
pyautogui.hotkey('ctrl', 'w')
time.sleep(2)
print("页面已关闭")

微信的快捷键+python微信快速发送消息(文件传输助手)通用版可以直接拿来套

快速打开微信:`Ctrl+Alt+W`

截图功能(截全屏或选择区域):`Alt+A` 或 `Ctrl+Alt+A`(截长图使用)

发送消息:‘enter’

搜索:‘ctrl+f’

快速输入:‘ctrl+v’

# -*- coding: UTF-8 -*-
 
import sys
import time
 
# 引入pyautogui模块以操作快捷键
import pyautogui
# 引入pyperclip模块以操作剪切板
import pyperclip
 
def sendWxMessage(target,msg, delay_time=2):
    """
    实现原理:1、通过打开微信的快捷键ctrl+alt+w,打开微信窗口
            2、通过搜索快捷键ctrl+f,打开搜索窗口
            3、通过ctrl+v快捷键实现输入功能
            4、通过ctrl+enter快捷键实现搜索or发送功能
    :param target: 发送目标
    :param msg: 需要发送的消息
    :param delay_time: 延迟时间 默认2秒
    :return:无返回值
    """
    try:
        # 清空剪切板并将目标写入到剪切板
        pyperclip.copy("")
        pyperclip.copy(target)
        # 打开微信窗口
        pyautogui.hotkey("ctrl", "alt", "w")
        time.sleep(delay_time)
        # 使用快捷键ctrl+f定位到微信搜索栏
        pyautogui.hotkey("ctrl", "f")
        time.sleep(delay_time)
        # 使用快捷键ctrl+v将目标粘贴到微信搜索栏,微信将自动搜索
        pyautogui.hotkey("ctrl", "v")
        time.sleep(delay_time)
        # 按回车键打开搜索出的目标
        pyautogui.press("enter")
        time.sleep(delay_time)
        # 清空剪切板并将未点检信息写入到剪切板
        pyperclip.copy("")
        pyperclip.copy(msg)
        # 使用快捷键ctrl+v将信息粘贴到微信输入框,按回车发送消息
        pyautogui.hotkey("ctrl", "v")
        time.sleep(delay_time)
        pyautogui.press("enter")
 
    except Exception as ex:
        print("发送微信消息出现异常: " + str(ex))
        sys.exit(0)
 
if __name__ == '__main__':
    sendWxMessage("文件传输助手","京东购物小程序",2)
    pyautogui.click()
    time.sleep(10)
    pyautogui.press('down')
    pyautogui.press("enter")
<< < 1 2 3 4 5 6 > >>

Powered By sydomain

Copyright Your WebSite.Some Rights Reserved.