Python办公自动化从入门到入土|08 数据容器之字符串
2026/8/3 4:32:56 网站建设 项目流程

继续第8章 Python字符串操作:办公自动化必备技能

专栏前言
前面我们学习了列表、元组两种序列容器。在处理 Excel 文本、文件名、邮件内容、报表文字时,字符串(str)是最高频使用的数据类型。

字符串和元组有一个共同点:内容不可直接修改,同时支持索引、切片、循环遍历。本章结合大量办公场景讲解字符串常用方法。

8.1 什么是字符串?办公通俗理解

字符串就是由单引号、双引号、三引号包裹的一串文字、数字、符号,用来存储文本信息。
办公场景:文件名称、客户姓名、地址、单元格文字、日志内容、邮件正文全部都是字符串。

# 三种定义方式 s1 = "办公自动化" s2 = '批量处理Excel' s3 = """多行文字 第一行 第二行""" print(s1) print(s2) print(s3)

输出结果:

办公自动化 批量处理Excel 多行文字 第一行 第二行

核心特性总结

  • 只能存储字符文本
  • 长度任意
  • 支持下标索引取值
  • 允许存在重复字符
  • 字符串本身不可以修改
  • 支持 for 循环遍历每一个字符
  • 索引、切片规则和列表、元组完全一致

重点:字符串不可原地修改!所有替换、分割操作都会生成新字符串,原始字符串保持不变。

8.2 索引与切片(和列表、元组通用)

语法:字符串[起始:结束:步长],左闭右开

text = "客户:张三,部门:销售部" # 取第0个字符 print(text[0]) # 倒数第一个字符 print(text[-1]) # 切片截取文字 print(text[3:6])

输出结果:

客 部 张三,

8.3 字符串常用内置方法(办公高频)

8.3.1 len() 获取字符串长度

统计文字个数,常用于校验单元格文本长度

name = "李四" print(len(name))

输出结果:

2
8.3.2 count() 统计子字符串出现次数

统计关键词在文本里出现多少次

content = "业绩 业绩 回款" print(content.count("业绩"))

输出结果:

2
8.3.3 index() 查找字符下标

找到子字符串对应的起始索引;找不到代码直接报错

msg = "8月销售报表.xlsx" print(msg.index("销"))

输出结果:

2
8.3.4 replace() 字符串替换

不会修改原字符串,返回新字符串;批量替换文字必备(清洗 Excel 文本)

file_name = "8月业绩表.pdf" new_name = file_name.replace("pdf","xlsx") print("原始字符串:",file_name) print("替换后:",new_name)

输出结果:

原始字符串: 8月业绩表.pdf 替换后: 8月业绩表.xlsx
8.3.5 split() 分割字符串

按照指定分隔符,把字符串切分成列表,文本拆分、解析表格文本超级常用

data_text = "张三,销售部,15000" res = data_text.split(",") print(res)

输出结果:

['张三', '销售部', '15000']
8.3.6 strip() 去除首尾字符
  1. 字符串.strip():去除首尾空格、换行
  1. 字符串.strip("指定字符"):去除首尾所有匹配的字符
text1 = " 销售报表 " print(text1.strip()) text2 = ",,,李四," print(text2.strip(","))

输出结果:

销售报表 李四

8.4 for 循环遍历字符串

逐个取出里面每一个字符

word = "python" for c in word: print(c)

输出结果:

p y t h o n

8.5 办公实战案例

案例 1:批量清洗文件名,修改后缀

# 原始文件名列表 file_list = ["9月数据.txt","工资表.txt","库存清单.txt"] new_files = [] for name in file_list: new_name = name.replace("txt","xlsx") new_files.append(new_name) print(new_files)

输出结果:

['9月数据.xlsx', '工资表.xlsx', '库存清单.xlsx']

案例 2:拆分单元格逗号分隔信息

info = "王五 | 财务部 | 8600" # 使用竖线分割 info_list = info.split(" | ") print(f"姓名:{info_list[0]},部门:{info_list[1]}")

输出结果:

姓名:王五,部门:财务部

案例 3:清除文本多余前后空格(清洗 Excel 导入的脏数据)

cell_text = " 华东区域分公司 " clean_text = cell_text.strip() print(f"清洗前:[{cell_text}]") print(f"清洗后:[{clean_text}]")

输出结果:

清洗前:[ 华东区域分公司 ] 清洗后:[华东区域分公司]

8.6 易错避坑重点

  1. 字符串无法使用下标修改
s = "abc" # 下面代码直接报错!不允许修改 # s[0] = "d"

报错:

TypeError: 'str' object does not support item assignment

想要修改只能通过 replace、切片拼接生成新字符串。

  1. 所有方法 replace /split/strip不会改动原始字符串,必须用变量接收返回结果
  2. index () 查找不到内容直接报错,如果不想报错可以使用find()

8.7 序列容器横向小结(列表 / 元组 / 字符串)

类型

标识

是否可变

核心办公用途

列表 list

[]

可变

动态数据、临时存储、批量数据

元组 tuple

()

不可变

固定配置、表头、常量数据

字符串 str

"" ''

不可变

存储文本、文件名、单元格文字

三者共性:支持索引、切片、for 循环遍历

本章小结

  1. 字符串使用引号包裹,用来存储文本数据;
  2. 属于不可变序列,无法原地修改,操作后产生新字符串;
  3. 掌握六大核心方法:len、count、index、replace、split、strip;
  4. 索引、切片语法和列表、元组完全通用,学习成本很低。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询