跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python算法

Python 标准库与第三方库实战:日期处理与 Excel 操作

Python 标准库与第三方库实战讲解。涵盖 datetime 模块进行日期计算,字符串处理方法如翻转单词顺序及前缀统计,利用 os 模块实现文件查找。同时介绍 pip 安装第三方库,演示 qrcode 生成二维码及 xlrd 读取 Excel 数据的基本操作。

Eee_123发布于 2026/3/27更新于 2026/7/1728 浏览
Python 标准库与第三方库实战:日期处理与 Excel 操作

使用库:标准库和第三方库

在开发中,我们不需要重复造轮子。库就是别人已经写好的代码,可以直接拿来用。一个编程语言能否流行,不仅取决于语法是否简单,更取决于其生态是否完备——也就是是否有足够丰富的库来应对各种场景。

按照来源,库大致分为两类:

  • 标准库:Python 自带的库,安装 Python 后直接使用。
  • 第三方库:其他人实现的库,需要额外安装。

标准库

认识标准库

Python 内置了非常丰富的库,涵盖文本处理、时间日期、数学计算、文件目录、数据存储、加密解密、操作系统相关、并发编程、网络编程及多媒体等。我们无需背诵所有内容,只需了解有哪些功能,遇到问题时能查阅文档即可。

导入模块

使用 import 语句可以导入标准库中的模块。所谓'模块',通常就是一个独立的 .py 文件。通过 import 语句,可以将外部代码引入当前文件并执行。

import module_name

日期计算实战

输入任意两个日期,计算它们之间相隔的天数,这是实际开发中的常见需求。

  1. 导入 datetime 模块。
  2. 构造两个日期对象,参数格式为 年/月/日。
  3. 两个日期对象相减,直接得到差值。
import datetime

# 构造日期对象
date1 = datetime.datetime(2006, 12, 14)
date2 = datetime.datetime(2025, 12, 14)

# 计算差值
print(date2 - date1)

优化写法: 如果觉得每次都要写 datetime. 比较繁琐,可以使用别名或直接导入类。

from datetime import datetime

date1 = datetime(2006, 12, 14)
date2 = datetime(2025, 12, 14)
print(date2 - date1)

或者给模块起个简短的别名:

import datetime as dt

date1 = dt.datetime(2006, 12, 14)
date2 = dt.datetime(2025, 12, 14)
print(date2 - date1)

关于 datetime 的更多操作(如格式化、判断星期几),建议查阅官方文档。

字符串操作

字符串是 Python 的内置类型,很多方法无需导入额外模块即可直接使用。

翻转单词顺序

需求:输入一个英文句子,翻转句子中单词的顺序,但单词内字符顺序不变。

思路:

  1. 使用 split 方法按空格切分字符串,返回列表。
  2. 使用列表的 reverse 方法逆序。
  3. 使用 join 方法将列表重新拼接成字符串。
def reverse_words(s: str) -> str:
    tokens = s.split()
    tokens.reverse()
    return ' '.join(tokens)

print(reverse_words('I am a student.'))  # 输出:student. a am I
旋转字符串

需求:给定两个字符串 s 和 goal,如果 s 经过若干次旋转(最左字符移到最右)能变成 goal,返回 True。

思路:

  1. 首先检查长度是否一致,不一致则直接返回 False。
  2. 将 s 与自身拼接 (s + s),此时所有可能的旋转结果都包含在这个新字符串中。
  3. 使用 in 运算符判断 goal 是否为子串。
def rotate_string(s: str, goal: str) -> bool:
    if len(s) != len(goal):
        return False
    return goal in (s + s)

print(rotate_string('abcde', 'cdeab'))  # True
print(rotate_string('abcde', 'edcba'))  # False
统计前缀字符串数目

需求:给定字符串数组 words 和目标字符串 s,统计 words 中有多少个字符串是 s 的前缀。

思路:遍历数组,利用 startswith 方法判断。

def count_prefixes(words: list, s: str) -> int:
    count = 0
    for word in words:
        if s.startswith(word):
            count += 1
    return count

print(count_prefixes(['a', 'b', 'c', 'ab', 'bc', 'abc'], 'abc'))  # 输出:3

文件查找工具

指定搜索路径和关键字,递归查找文件名中包含该关键字的文件。

思路:

  • 使用 os.walk 实现目录递归遍历。
  • os.walk 返回三元组:(当前路径,当前目录名列表,当前文件名列表)。
import os

input_path = input('请输入待搜索路径:')
pattern = input('请输入待搜索关键词:')

for dirpath, _, filenames in os.walk(input_path):
    for f in filenames:
        if pattern in f:
            print(f'{dirpath}/{f}')

此方法比手动编写递归代码更简洁高效。

第三方库

认识第三方库

虽然标准库很强大,但面对特定场景(如生成二维码、复杂 Excel 操作),第三方库往往提供了更专业的解决方案。当遇到需求时,可以通过搜索引擎或 PyPI 网站确定合适的库。

使用 pip 安装

pip 是 Python 内置的包管理器,类似于手机的应用商店。它用于从 PyPI 下载和管理第三方库。

安装命令:

pip install [库名]

注意事项:

  • 确保网络连接畅通。
  • 如果提示找不到模块,请检查 IDE 的 Python 解释器设置是否正确。
  • 部分库可能需要指定版本,例如 xlrd 旧版支持 .xls,新版支持 .xlsx,需根据需求选择。

生成二维码

需求:将一段文字或 URL 转换为二维码图片。

步骤:

  1. 确定库:搜索得知 qrcode 库适合此任务。
  2. 安装:pip install qrcode[pil]。
  3. 编写代码。
import qrcode

# 生成二维码
img = qrcode.make('https://example.com')
# 保存为图片
img.save('qrcode.png')

运行后生成的图片可用微信等工具扫描查看内容。

操作 Excel

读取 Excel 表格数据常用 xlrd 模块,修改数据常用 xlwt 模块。此处以读取为例。

需求:读取 d:/test.xlsx,计算 100 班同学的平均分。

步骤:

  1. 安装指定版本:pip install xlrd==1.2.0(注意版本差异)。
  2. 打开工作簿,获取指定 Sheet。
  3. 遍历行数据,提取班级和成绩字段进行计算。
import xlrd

# 打开文件
xlsx = xlrd.open_workbook('d:/test.xlsx')
# 获取第一个 Sheet
table = xlsx.sheet_by_index(0)

nrows = table.nrows
total = 0
count = 0

# 从第 1 行开始遍历(假设第 0 行为表头)
for i in range(1, nrows):
    class_id = table.cell_value(i, 1)
    score = table.cell_value(i, 2)
    
    if class_id == 100:
        total += score
        count += 1

if count > 0:
    print(f'平均分:{total / count}')
else:
    print('未找到符合条件的数据')

通过这种方式,我们可以灵活处理复杂的表格逻辑,而不仅仅依赖 Excel 自身的公式功能。

目录

  1. 使用库:标准库和第三方库
  2. 标准库
  3. 认识标准库
  4. 导入模块
  5. 日期计算实战
  6. 构造日期对象
  7. 计算差值
  8. 字符串操作
  9. 翻转单词顺序
  10. 旋转字符串
  11. 统计前缀字符串数目
  12. 文件查找工具
  13. 第三方库
  14. 认识第三方库
  15. 使用 pip 安装
  16. 生成二维码
  17. 生成二维码
  18. 保存为图片
  19. 操作 Excel
  20. 打开文件
  21. 获取第一个 Sheet
  22. 从第 1 行开始遍历(假设第 0 行为表头)
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Python 基础入门:数据存储与运算详解
  • 当前互联网行情下,程序员职业前景分析与发展建议
  • 医疗行业大模型落地现状、挑战与未来趋势分析
  • C++ 模板进阶:非类型参数与特化
  • C++ 从零实现高质量随机数生成器
  • Linux 网络编程基础:TCP 协议、序列化与守护进程
  • OpenMAIC:清华开源的 AI 课堂生成与多智能体教学平台
  • 嵌入式内核调试技巧:如何快速定位系统问题
  • Figma Make 实测:AI 能否辅助完成前端开发
  • 本地免费部署 Llama 3.1 大模型详细教程
  • Spring Boot 数据缓存集成与性能优化实战
  • RabbitMQ 核心概念与六种常用模式解析
  • Pi0 机器人大模型在昇腾 A2 上的部署与性能测评
  • C++ 运算符重载:自定义类型的运算扩展
  • MCP 协议层详解:深入分析 Python SDK 中的实现机制
  • OpenCode 开源 AI 编程助手工具介绍
  • 家庭 AI 助手实战:QQ 机器人接入 OpenClaw
  • 本地 Docker 部署 Appsmith 及远程访问配置
  • 数据结构空间复杂度详解:概念与常见计算示例
  • MySQL 高可用集群搭建实战:双主双活 + Keepalived

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online