尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Python入门避坑指南:从环境配置到爬虫与Excel自动化实战

Python入门避坑指南:从环境配置到爬虫与Excel自动化实战 早点看到这篇文章你学 Python 能少走一半弯路。这两年总有人问我“零基础能不能学会”“学多久能干活”我每次都是同一句话别想太多先把环境装好写个 Hello World 跑起来再说别的。这篇不是什么学院派教程就是我自己从装环境、写脚本、抓数据、处理 Excel 一路踩出来的实操记录照着做就行不用记太多理论。Python 入门这件事难的不是语法而是“不知道下一步该干什么”。装上解释器、配好编辑器、把变量循环函数搞明白、再拿爬虫和 Excel 自动化练手你基本就算进门了。文章后面还整理了安装、调库、中文乱码这些高频问题的排查方法都是我实际碰到过的希望能帮你省点时间。1. 环境准备装好 Python 才是真正的起点1.1 版本选择看这里别再装错接触 Python 第一件事不是打开教程看语法而是去官网下载安装包。很多人问“版本选 2 还是 3”现在完全不用纠结直接上 Python 3而且是3.9 以上的稳定版本。3.10、3.11、3.12 都行但别追最新版有些第三方库的更新速度跟不上容易出兼容性问题。我自己主力机装的是 3.10 系列踩坑最少。去官网下载的时候认准下载页面里的“Download for Windows”选 64 位版本。这里有个小细节安装包名字里通常带“Windows installer (64-bit)”字样别下成 Web-based installer那个是联网安装器速度慢还容易断。下载完文件后缀是.exe双击打开进入安装界面。1.2 安装实操与配置细节含环境变量安装过程中最关键的一步就是勾选“Add Python to PATH”。这一步默认是不勾选的很多新手漏掉之后在命令行输入python会提示“不是内部或外部命令”整个人就懵了。勾上它等于告诉系统“这个程序装在这儿你随时能找到它”后面在 cmd 或 PowerShell 里输python才能唤起解释器。安装路径可以保持默认但建议记一下装到哪里了。默认路径类似C:\Users\你的用户名\AppData\Local\Programs\Python\Python310\为什么要记后面安装第三方库的时候如果你发现库装到了别的位置或者import不到模块十有八九是路径不统一的问题。装完之后按WinR输入cmd回车在命令行里输入python --version如果能输出类似Python 3.10.x说明装好了。再输一行pip --versionpip 是 Python 的包管理器以后装第三方库全靠它。如果提示pip找不到大概率是 PATH 没配上检查一下安装路径有没有加入环境变量。实在不行就手动加右键“此电脑”→“属性”→“高级系统设置”→“环境变量”在“Path”里把 Python 根目录和Scripts子目录都加进去。提示macOS 或 Linux 用户系统一般自带 Python 3但版本可能偏老。建议用官方包或 HomebrewmacOS安装新版本ubuntu 系统可以安装 python3-pip 补全工具链具体命令网上都有和 Windows 安装后殊途同归。1.3 编辑器选择VS Code 还是 PyCharm新手常见的选择题VS Code 还是 PyCharm我的答案是入门阶段用 VS Code写大项目再考虑 PyCharm。VS Code 轻、启动快、插件丰富对电脑配置要求低。PyCharm 功能全面但笨重、启动慢刚学语法阶段用不上那么多高级功能。VS Code 装 Python 插件是必须的插件名就是Python微软官方出的那个。安装后支持语法高亮、自动补全、括号匹配写代码体验立刻提升一个档次。再配一个插件叫Python Docstring Generator能帮你在函数上方自动生成注释模板养成好习惯。编辑器配好后打开一个新文件夹新建hello.py输入print(你好Python!)然后在终端输入python hello.py看到输出 “你好Python!”恭喜你环境这关过了接下来才是真正开始学语言。2. 第一个程序与 Python 执行原理2.1 从 Hello World 到交互式编程很多教程把print(Hello, World!)写在第一课太老套了但确实无可替代——它是你验证环境、理解代码运行流程的最短路径。换个内容写个带变量的版本name 小陈 print(f你好{name}欢迎进入 Python 的世界)注意这行print(f...)引号前面那个f是格式化字符串的意思后面学写报表、拼日志、拼接文件名都要用到它。比老式的print(你好 name)可读性好太多也更安全。除了写.py文件再运行还有一个交互式环境值得玩玩。在命令行输入python回车就进入了交互模式提示符长这样。在这里输一行代码回车就出结果非常适合做小实验。 2 ** 10 1024幂运算**是 Python 比较让人喜欢的语法之一不像有些语言要调用Math.pow(...)。2.2 理解 .py 文件、解释器与运行流程Python 是解释型语言代码不用编译成二进制解释器直接读一行解释一行。这也是新手学习时最容易产生困惑的地方明明写完代码双击文件没反应因为你运行.py文件并不会弹出一个“窗口”——除非你写了 GUI 程序。纯文本脚本的运行结果只会打印在终端里。运行流程大概是你在编辑器里写好代码 → 保存为.py文件 → 在终端执行python 文件名.py→ 解释器从头到尾逐行执行 → 输出结果到终端。如果中间某行出错执行立刻停止打印一条报错信息。这里有个非常重要的技巧优先学会阅读报错信息。很多人一看到英文报错就慌其实 Python 的报错基本都告诉你“哪一行、什么错误”。比如Traceback (most recent call last): File demo.py, line 3, in module print(undefined_var) NameError: name undefined_var is not defined这句NameError: name undefined_var is not defined的意思是变量没定义。99%的语法错误光看最后一行就能定位问题。把报错当成排查线索而不是灾难后面学起来会顺畅得多。3. 核心语法拆解用很少的代码解决实际问题3.1 变量与类型转换告别“这也得记”Python 是动态类型语言定义一个变量age 25 price 9.9 name Python不需要声明类型解释器自动判断。但正因为不用声明新手容易踩类型坑。最常见的报错是字符串和数字直接拼接print(我今年 age 岁)这行会 TypeError。字符串和整数不能直接用加号拼。正确写法是先把数字转成字符串print(我今年 str(age) 岁)或者更推荐用 f-stringprint(f我今年{age}岁)关键函数就那几个int()、float()、str()把字符串转数字、小数转整数、数字转字符串。再举个例子从网页或 Excel 拿到一个字符串123想让它参与数学运算total 123 print(int(total) 1)输出124。记住一个判断拿到数据先问自己是什么类型再想怎么用。用type()函数随时查看类型print(type(total))输出class str一目了然。3.2 字符串、列表、元组、字典的使用场景这四种数据结构是 Python 的核心入门必须吃透。字符串str就是一串文本可以切片、拼接、替换、查找。比如从2025-04-15 10:30:00里提取日期部分time_str 2025-04-15 10:30:00 date_part time_str[:10] print(date_part)列表list是最常用的容器。可以这么建fruits [apple, banana, orange] fruits.append(grape) print(fruits[0])列表可以随时增删改查。爬虫里抓到多条数据放在一个列表里后面写进 Excel 就靠它。元组tuple和列表很像但创建之后不能修改。它适合存固定不变的数据比如坐标(x, y)。它还能当字典的键列表不行。字典dict是键值对结构像一本字典通过“词条”找“解释”。爬虫解析网页数据后可以整理成字典列表student { name: 小明, score: 92 } print(student[name])这四个结构学完你已经能处理大部分数据组织需求了。3.3 函数定义把重复的事封装起来函数是代码复用的核心。刚入门不急着写复杂抽象先用“干一件事的代码块”理解它def add(a, b): result a b return result print(add(3, 5))注意 Python 用缩进通常 4 个空格表示代码块不像别的语言用大括号。这是初学者最容易视觉不适的地方。def 后面那行缩进的才是函数体不缩进的代码就属于函数外部了。定义函数时有个高级一点的点参数可以有默认值。这在配置脚本时非常有用def greeting(name, prefix你好): return f{prefix}{name}!因为有默认值调用greeting(小陈)就行也可以覆盖默认值greeting(小陈, 早上好)。灵活度一下子高不少。新手阶段看到重复代码就尝试提成一个函数慢慢你的代码会越来越短、越来越清晰。就像收拾房间把常用的东西放在固定的盒子里用时直接拿。3.4 条件与循环控制程序走向条件判断用if/elif/elsescore 85 if score 90: print(优秀) elif score 60: print(及格) else: print(需要努力)循环是for和while。for适合遍历列表、字符串、字典for fruit in fruits: print(fruit)range()生成数字序列for i in range(5): print(i)while适合不确定循环次数的情况比如轮询某个状态但不小心容易写出死循环新手要注意循环条件会不会变化。还有break提前结束循环continue跳过当前轮这两个关键词也一定要记。举个例子打印 1 到 20 之间的偶数for i in range(1, 21): if i % 2 0: print(i)到这里你已经掌握了 Python 90% 的语法骨架。剩下的就是熟悉标准库、第三方库、调试技巧以及不断用真实场景打磨代码。4. 入门实战从爬虫到 Excel 自动化个人最推荐的方向4.1 爬虫入门用 requests BeautifulSoup 拿网页数据学会基础语法后最容易建立成就感的就是写爬虫。关键是让你真正用代码解决“获取数据”的需求。第一步安装库pip install requests beautifulsoup4先从一个简单的场景开始比如抓取某个网页的标题import requests from bs4 import BeautifulSoup url https://example.com response requests.get(url, timeout10) soup BeautifulSoup(response.text, html.parser) print(soup.title.text.strip())timeout10这个参数很重要不写的话请求可能一直挂起程序卡死。第二步解析列表数据。假设页面里有一堆div标签你想拿每个div里的标题文本items soup.select(div.item .title) for item in items: print(item.text)这里select用的语法是 CSS 选择器和网页前端里的用法一样熟悉前端的人会觉得特别顺手。如果不熟悉先记标签、.类名、#id三种写法就够用。到这里你就能抓到数据了但还没完。抓下来的中文如果出现乱码大概率是页面编码问题。在请求时手动指定编码response.encoding response.apparent_encoding在大多数中文网页上能解决。提醒写爬虫只爬公开数据、遵守目标网站的robots.txt规则、控制请求频率用时间间隔或限速策略既是对别人网站的尊重也避免自己IP被限制。爬虫不是用来攻击或者绕过防护的这点务必记住。4.2 数据分析用 pandas 读写 Excel实现“自动拉表”日常办公中大量重复工作用 Python 把 Excel 处理自动化是非常棒的入门练习。先安装 pandas 和 openpyxlpip install pandas openpyxlopenpyxl是 pandas 读写.xlsx文件的后端引擎装完才能读取新格式 Excel。一个最简单但又最实用的场景把一个文件夹里多个 Excel 文件合成一个表。import pandas as pd import glob all_data pd.DataFrame() files glob.glob(data/*.xlsx) for file in files: df pd.read_excel(file) all_data pd.concat([all_data, df], ignore_indexTrue) all_data.to_excel(合并结果.xlsx, indexFalse)这里pandas.DataFrame是表格的核心结构你可以把它理解成 Excel 里的工作表有行有列。concat是纵向拼接to_excel输出结果indexFalse表示不写出行索引那一列。其实pandas还擅长做统计比如grouped all_data.groupby(部门)[销售额].sum() print(grouped)一行代码就按部门汇总了销售额。在 Excel 里你要做透视表在 pandas 里几行就搞定。如果数据量不算太小比如几千几万行pandas 的速度是肉眼可见地快。“调用公司系统自动拉表”这个需求很常见。公司内部系统如果有数据导出接口通常返回 JSON 或 CSV用 requests 获取后用 pandas 清洗入库。如果没有接口只能靠下载 Excel那就用 pyautogui 或 Playwright 做界面自动化但跨系统交互一定注意权限和数据安全别碰公司明文账号密码。4.3 画图与量化matplotlib 痛点解决与策略代码入门数据分析少不了画图新手用 matplotlib 常见的痛点是横坐标太密集日期全部挤在一起标签糊成一片根本看不清。解决办法有两种一是把横轴标签旋转一下import matplotlib.pyplot as plt plt.plot(x_data, y_data) plt.xticks(rotation45) plt.tight_layout() plt.show()二是减少刻度数量比如只画其中四分之一的刻度plt.xticks(ticksx_data[::4], rotation45)选哪种看数据量数据点少用第一种数据多了用第二种。加上tight_layout()防止标签被截断这两招基本能解决九成的坐标轴拥挤问题。再聊一句量化交易。经常有人搜“python量化交易策略代码”说实话只有策略代码是远远不够的你还需要数据源、回测框架、执行通道以及最重要的风险控制。但作为入门练习可以用 pandas 计算最简单的双均线指标这个过程本身就是非常好的 Python 进阶训练。df[MA5] df[close].rolling(5).mean() df[MA20] df[close].rolling(20).mean()rolling(5).mean()是计算最近 5 日均线。有了两条均线就能判断金叉死叉。用历史数据回测一下胜率是非常有意思的一步。但记住这只是学习项目不是投资建议真金白银入场前一定谨慎。5. 常见问题与排查技巧实录5.1 安装与环境变量相关的高频错误环境问题占了入门阶段 70% 的报错。整理几个典型的现象原因解决方法python不是内部或外部命令未添加 PATH重新安装时勾选“Add Python to PATH”或手动配置环境变量pip不是内部或外部命令Scripts 目录不在 PATH在环境变量里加上Python安装目录\ScriptsPython 版本旧系统里同时装了多个版本命令行输入where python查看实际调用的是哪个路径或直接统一使用虚拟环境安装库时提示未找到 pip只装了 Python 没装 pippython -m ensurepip --upgrade重新引导 pip还有个小坑Windows 应用商店里绑定的 Python 版本和官网下载的可能不一致能读系统提示别乱装两个版本否则python命令调哪个看 PATH 顺序。5.2 库安装失败的解决思路pip install是入门教程里最常见的命令但新手容易在这出问题。最常见的失败原因有两个网络问题和依赖冲突。网络不佳时换了镜像源就好命令行加参数pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple国内镜像源不仅仅有“清华”这一个还有阿里云、中科大等任选其一。这个方法遇到卡在慢速下载特别管用。依赖冲突通常出现在安装大型库的时候比如pandas是老版本、numpy又是新版本。解决方案就是用虚拟环境隔离项目python -m venv venv venv\Scripts\activate # Windows source venv/bin/activate # macOS / Linux激活后 pip 安装的包只存在于这个虚拟环境里不会污染系统全局项目之间也不互相干扰。这是我做过最正确的事强烈建议早一点学会用。装 sklearn、numpy、cv2 等大型库都用它。5.3 import 失败与中文乱码的处理“明明装了库import 还是报 ModuleNotFoundError”这个问题的核心原因是模块搜索路径不匹配。先打印一下当前环境搜索路径import sys print(sys.path)如果输出的路径里没有你安装库的路径说明 pip 安装位置和当前解释器不是同一个。这种情况多半是系统里存在多个 Python 版本。解决方式要么用虚拟环境要么在命令行用python -m pip替代直接pip让 pip 和解释器严格绑定python -m pip install pandas中文乱码也是经典问题。运行脚本输出乱码先在代码文件最顶上加上# -*- coding: utf-8 -*-不过 Python 3 默认源码编码就是 UTF-8签名作用有限更常见的是 Windows 命令行显示乱码。可以这样解决import sys sys.stdout.reconfigure(encodingutf-8)再不行就去注册表改一下代码页或者用 VS Code 的终端替代系统自带 cmd配合chcp 65001命令切换 UTF-8 编码。写 Excel 时中文乱码用to_excel加encodingutf-8-sig不然 Excel 打开 CSV 文件会是一堆乱码。5.4 给新手的几条实在建议学习路径上先学语法基础变量、数据类型、条件循环、函数然后选一个方向发力。爬虫、数据分析、自动化办公是最推荐的三条路成就感来得快反馈周期短。别硬啃《XXX 编程语言典藏版》那种大部头先会写再理解原理用起来比背概念有效率得多。报错的时候把错误信息完整复制到搜索引擎里搜命中概率非常高很多坑早就有人踩过了。代码要自己敲。看着别人的代码“懂了”和亲手敲一遍跑通差别非常大。别复制粘贴哪怕照着打一遍印象都深一倍。配合一些有意思的小题目练手。搜一下经典的“李白打酒”题目李白无事街上走提壶去打酒。遇店加一倍见花喝一斗。五遇店和花喝光壶中酒。问壶中原有多少酒用循环推算一下答案可以有很多种写法这比单纯刷题有滋有味多了。我自己的体会是Python 学习曲线没那么陡但一定不能只看不练。前几周每天写几十行小脚本把那些让人觉得“好像会了”的知识真正落到指尖才算是你的能力。到后面你会发现Python 的方法不是背出来的而是写多了自然就会了。最后再分享一个小技巧建一个自己的“工具代码”文件夹把写过的查 Excel、批量改名、生成报表这些常用脚本都放进去以后遇到类似需求直接改两行参数就能复用这也是我从入门到熟练期最快手的理由。
返回列表