sydomain

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

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)

浏览器快捷键

打开浏览器命令‘win+r’输入‘chrome’'enter'(只针对谷歌)

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")

python-Excel数据合并工具(文件中多个sheets合并到一起)

import pandas as pd      
import tkinter as tk      
from tkinter import filedialog, Button  # 添加 Button 到导入列表中  
 
def merge_and_save():      
    # 打开文件选择对话框,选择Excel文件      
    file_path = filedialog.askopenfilename(title="选择Excel文件", filetypes=[("Excel文件", "*.xlsx")])      
         
    # 读取Excel文件中的所有工作表      
    all_sheets = pd.read_excel(file_path, sheet_name=None)      
         
    # 合并所有工作表的数据到一个新表中      
    merged_data = pd.concat(all_sheets, ignore_index=True)        
         
    # 将合并后的数据保存到新的Excel文件中      
    output_file = filedialog.asksaveasfilename(defaultextension=".xlsx", filetypes=[("Excel文件", "*.xlsx")])      
    merged_data.to_excel(output_file, index=False)      
         
    print(f"数据已合并并保存到 {output_file}")      
   
# 创建GUI窗口      
root = tk.Tk()      
root.title("Excel数据合并工具(文件中多个sheets合并到一起)")  # 设置标题    
root.configure(background='darkblue')  # 设置背景颜色为蓝色    
root.geometry("600x300")  # 设置窗口大小为6000x300像素    

# 添加文字说明  
label = tk.Label(root, text="1.选择你文件夹中要合并的文件\n2.跟着会弹出要保存的路径界面\n3.自定义名称并保存到你指定地方\n4.程序会自动处理", bg="darkblue", fg="white", font=("Arial", 16))  
label.pack(pady=10)  # 垂直方向上添加一些间距  

# 在标签的右下角添加作者信息  
author_label = tk.Label(root, text="作者:sy", bg="darkblue", fg="white", font=("Arial", 12))  
author_label.place(x=350, y=270, anchor="se")  # 将作者标签放置在标签的右下角  

# 创建文件选择按钮    
file_select_button = Button(root, text="选择文件", command=merge_and_save)    
file_select_button.pack()    
   
# 创建关闭按钮    
close_button = Button(root, text="关闭", command=root.quit)    
close_button.pack()    
   
root.mainloop()  # 启动GUI事件循环

python-合并excel文件

import os  
import pandas as pd  
import tkinter as tk  
from tkinter import filedialog  
from tkinter.ttk import Button, Frame, Label  
 
def read_and_merge_excel_files(folder_path):  
    all_dfs = []  
    for file_name in os.listdir(folder_path):  
        if file_name.endswith(".xlsx"):  
            file_path = os.path.join(folder_path, file_name)  
            try:  
                df = pd.read_excel(file_path, engine='openpyxl')  
                all_dfs.append(df)  
            except Exception as e:  
                print(f"An error occurred with {file_name}: {e}")  
        else:  
            print(f"跳过非Excel文件: {file_name}")  
     
    if all_dfs:  
        merged_data = pd.concat(all_dfs, ignore_index=True)  
        output_file = os.path.join(folder_path, 'new_' + file_name)  
        merged_data.to_excel(output_file, index=False, engine='openpyxl')  
        print("已完成: 合并所有Excel文件到当前目录下以new_开头的文件")  
    else:  
        print("没有找到任何Excel文件")  
 
def select_folder():  
    folder_path = filedialog.askdirectory(title="选择文件夹")  
    if folder_path:  
        read_and_merge_excel_files(folder_path)  
    else:  
        print("请选择一个文件夹")  
 
def create_close_button(frame):  
    close_button = Button(frame, text="关闭", command=root.quit)  
    close_button.pack(side=tk.RIGHT)  
 
def create_title_frame():  
    title_frame = Frame(root, bg="blue", width=200, height=50)  
    Label(title_frame, text="Excel批量处理程序", bg="blue", fg="white").pack(side=tk.LEFT)  
    create_close_button(title_frame)  
    title_frame.pack(pady=10)    
 
# 创建主窗口    
root = tk.Tk()    
root.title("Excel 合并文件")    
root.geometry("400x300")  # 设置窗口大小    
root.configure(background='darkblue')  # 设置背景色   
 
# 添加文字说明  
label = tk.Label(root, text="1.选择你放文件的文件夹即可\n2.程序自动处理并自动保存\n\n例子:文件A放在文件夹B\n程序处理之后的新文件\n将自动保存在当前文件中", bg="darkblue", fg="white", font=("Arial", 16))  
label.pack(pady=10)  # 垂直方向上添加一些间距  

# 在标签的右下角添加作者信息  
author_label = tk.Label(root, text="作者:sy", bg="darkblue", fg="white", font=("Arial", 12))  
author_label.place(x=350, y=270, anchor="se")  # 将作者标签放置在标签的右下角  
   
# 添加一个按钮,点击时执行select_folder函数    
button = tk.Button(root, text="选择文件夹", command=select_folder)    
button.pack()    
   
# 运行主循环,等待事件处理    
root.mainloop()

python处理excel表格批量提取表格中的列进行排序(指定为桌面)

import os  
import pandas as pd  
import tkinter as tk  
from tkinter import filedialog  
 
def read_and_sort_excel():  
    # 指定桌面路径  
    desktop_path = os.path.join(os.path.expanduser("~"), "Desktop")  
 
    # 指定Excel文件名  
    excel_filename = "名单.xlsx"  
 
    # 构建完整的Excel文件路径  
    excel_file_path = os.path.join(desktop_path, excel_filename)  
 
    # 检查文件是否存在  
    if os.path.exists(excel_file_path):  
        try:  
            # 读取Excel文件  
            df = pd.read_excel(excel_file_path, engine='openpyxl')  
 
            # 提取"列名"列并重新排序  
            column_values = df[['快递单号', '姓名', '联系方式', '收货地址', '数量']].sort_values(by='快递单号')  
 
            # 保存为新文件(你可以根据需要更改新文件的名称)  
            new_file_path = os.path.join(desktop_path, 'new_' + excel_filename)  
            column_values.to_excel(new_file_path, index=False, engine='openpyxl')  
            print("已完成!")  
        except Exception as e:  
            print(f"An error occurred: {e}")  
    else:  
        print("文件不存在")  
 
# 创建主窗口  
root = tk.Tk()  
root.title("Excel Sorter")  
 
# 添加一个按钮,点击时执行read_and_sort_excel函数  
button = tk.Button(root, text="开始", command=read_and_sort_excel)  
button.pack()  
 
# 运行主循环,等待事件处理  
root.mainloop()

python处理excel表格批量提取表格中的列进行排序(窗口模式)

import os
import pandas as pd
import tkinter as tk
from tkinter import filedialog
from tkinter.ttk import Button, Frame, Label

def read_and_sort_excel_folder(folder_path):
    for file_name in os.listdir(folder_path):
        if file_name.endswith(".xlsx") or file_name.endswith(".xls"):
            file_path = os.path.join(folder_path, file_name)
            try:
                df = pd.read_excel(file_path, engine='openpyxl')
                df['姓名'] = df['姓名'].astype(str)
                df['联系方式'] = df['联系方式'].astype(str)
                df['收货地址'] = df['收货地址'].astype(str)
                df['快递单号'] = df['快递单号'].astype(str)
                column_values = df[['姓名', '联系方式', '收货地址', '快递单号']].sort_values(by='姓名')
                new_file_path = os.path.join(folder_path, 'new_' + file_name)
                column_values.to_excel(new_file_path, index=False, engine='openpyxl')
                print(f"已完成: {file_name}")
            except Exception as e:
                print(f"An error occurred with {file_name}: {e}")
        else:
            print(f"跳过非Excel文件: {file_name}")

def select_folder():
    folder_path = filedialog.askdirectory(title="选择文件夹")
    if folder_path:
        read_and_sort_excel_folder(folder_path)
    else:
        print("请选择一个文件夹")

def create_close_button(frame):
    close_button = Button(frame, text="关闭", command=root.quit)
    close_button.pack(side=tk.RIGHT)

def create_title_frame():
    title_frame = Frame(root, bg="blue", width=200, height=50)
    Label(title_frame, text="Excel批量处理程序", bg="blue", fg="white").pack(side=tk.LEFT)
    create_close_button(title_frame)
    title_frame.pack(pady=10)

# 创建主窗口
root = tk.Tk()
root.title("Excel 解析")
root.geometry("400x300")  # 设置窗口大小
root.configure(background='darkblue')  # 设置背景色

# 添加文字说明
label = tk.Label(root, text="1.选择你放文件的文件夹即可\n2.程序自动处理并自动保存\n\n例子:文件A放在文件夹B\n程序处理之后的新文件\n将自动保存在文件夹B中", bg="darkblue", fg="white", font=("Arial", 16))
label.pack(pady=10)  # 垂直方向上添加一些间距

# 在标签的右下角添加作者信息
author_label = tk.Label(root, text="作者:sy", bg="darkblue", fg="white", font=("Arial", 12))
author_label.place(x=350, y=270, anchor="se")  # 将作者标签放置在标签的右下角

# 添加一个按钮,点击时执行select_folder函数
button = tk.Button(root, text="选择文件夹", command=select_folder)
button.pack()

# 运行主循环,等待事件处理
root.mainloop()
<< < 1 2 3 4 5 6 7 8 9 > >>

Powered By sydomain

Copyright Your WebSite.Some Rights Reserved.