You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python新手求助:基于CSV文件的屏幕点击与数据填入自动化实现

Python自动化CSV数据填充GUI流程方案

Hey there! As someone who's been in your shoes (struggling with automation as a Python newbie), I’ll walk you through exactly how to build this workflow. We’ll use two key libraries: pandas to handle your CSV data, and pyautogui to handle the screen clicks and text input.

Step 1: Install Required Libraries

First, open your terminal/command prompt and install the tools we need:

pip install pandas pyautogui

Step 2: Get Your Screen Coordinates

Before coding, you need to know the exact screen positions to click. Run this small script to get the coordinates:

import pyautogui

# This will show your mouse's current position in real-time
print("Move your mouse to the target positions and note down the (x, y) coordinates. Press Ctrl+C to stop.")
pyautogui.displayMousePosition()

Jot down three sets of coordinates:

  • Coordinate 1: Where to click to input A2 (and later B2, C2, etc.)
  • Coordinate 2: Where to click to input A3 (and later B3, C3, etc.)
  • Coordinate 3: Where to click to input A4 (and later B4, C4, etc.)

Step 3: Full Automation Script

Here’s a complete, commented script you can adapt to your needs:

import pandas as pd
import pyautogui
import time

# ---------------------- CONFIGURATION ----------------------
# Replace these with the coordinates you noted earlier
INPUT_POS_A = (100, 200)  # Position for A2/B2/C2...
INPUT_POS_B = (300, 200)  # Position for A3/B3/C3...
INPUT_POS_C = (500, 200)  # Position for A4/B4/C4...
CSV_FILE_PATH = "your_data.csv"  # Replace with your CSV file path
DELAY_BETWEEN_ACTIONS = 0.5  # Adjust if your GUI needs more time to respond
# -----------------------------------------------------------

# Read the CSV file (assuming your CSV has headers; if not, add header=None to read_csv)
df = pd.read_csv(CSV_FILE_PATH)

# Loop through each row in the CSV
for index, row in df.iterrows():
    # Get the three values from the current row (adjust column names to match your CSV)
    # Example: if your columns are named 'col1', 'col2', 'col3', use row['col1'], etc.
    value1 = str(row.iloc[0])  # First cell in the row (A2, B2...)
    value2 = str(row.iloc[1])  # Second cell in the row (A3, B3...)
    value3 = str(row.iloc[2])  # Third cell in the row (A4, B4...)

    # Step 1: Click first position and input value1
    pyautogui.click(INPUT_POS_A)
    time.sleep(DELAY_BETWEEN_ACTIONS)
    pyautogui.typewrite(value1)

    # Step 2: Click second position and input value2
    pyautogui.click(INPUT_POS_B)
    time.sleep(DELAY_BETWEEN_ACTIONS)
    pyautogui.typewrite(value2)

    # Step 3: Click third position and input value3
    pyautogui.click(INPUT_POS_C)
    time.sleep(DELAY_BETWEEN_ACTIONS)
    pyautogui.typewrite(value3)

    # Optional: Add a delay before moving to the next row, or a prompt to continue
    # time.sleep(2)
    # input("Press Enter to process next row...")

print("All rows processed successfully!")

Key Tips for Newbies

  • Test first: Run the script with a small CSV (2-3 rows) to make sure it works before scaling to thousands of rows.
  • Emergency stop: If the script goes haywire, move your mouse to the top-left corner of the screen—pyautogui will automatically stop execution (it’s a built-in fail-safe).
  • Adjust delays: If your target app is slow to respond, increase DELAY_BETWEEN_ACTIONS to 1 or 2 seconds.
  • CSV column handling: If your CSV uses specific column names instead of relying on index positions, replace row.iloc[0] with row['your_column_name'] for clarity.

内容的提问来源于stack exchange,提问作者scott.turner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:51:14