本文将带你快速上手Python自动化办公,告别重复性工作。我们会涉及文件操作、数据处理、以及如何利用Python操作Excel表格,让你轻松实现办公自动化。重点讲解Python中的"文件操作"、"模块"、"函数",用实际案例教你如何提升工作效率。话不多说,直接开搞!# 文件读写:让电脑帮你整理文件
文件操作是自动化办公的基础。想象一下,你要整理一大堆文件,手动打开、复制、粘贴,累都累死了。但是,有了Python,这些都可以交给电脑来完成。
# 打开和关闭文件
首先,得告诉Python你要操作哪个文件。"打开文件"用open()函数,"关闭文件"用close()方法。
# 打开一个名为 "test.txt" 的文件,以只读模式打开("r")
file = open("test.txt", "r")
# 读取文件内容
content = file.read()
print(content)
# 千万记得关闭文件
file.close()
这里,"r"表示以只读模式打开文件。还有写入模式"w"(会覆盖原有内容)和追加模式"a"(在文件末尾添加内容)。
温馨提示: 每次用完文件,记得close()掉,不然可能会出问题。有个更优雅的方法,叫with open(),可以自动关闭文件,墙裂推荐!
withopen("test.txt", "r") as file:
content = file.read()
print(content)
# 文件在这里会自动关闭,不用你操心
# 读取文件内容
读取文件内容有几种方法:
read()readline()readlines()
withopen("test.txt", "r") as file:
# 一次性读取整个文件
# content = file.read()
# 每次读取一行
# content = file.readline()
# 读取所有行,返回一个列表
content = file.readlines()
print(content)
readlines()方法返回的是一个列表,每行内容是列表中的一个元素,包含换行符"\n"。
# 写入文件内容
写入文件也很简单,但是要注意模式的选择。"w"会覆盖原有内容,"a"会在末尾追加。
withopen("output.txt", "w") as file:
file.write("Hello, Python!\n") #\n表示换行
withopen("output.txt", "a") as file:
file.write("This is a new line.\n")
# 模块:让Python更强大
模块就像工具箱,里面有很多预先写好的函数,可以直接拿来用。Python有很多内置模块,比如os(操作系统相关)、datetime(日期时间相关),还有很多第三方模块,需要安装才能用。
# 导入模块
导入模块用import关键字。
import os
# 获取当前工作目录
current_dir = os.getcwd()
print(f"Current directory: {current_dir}")
也可以只导入模块中的一部分,用from ... import ...。
from datetime import datetime
# 获取当前日期时间
now = datetime.now()
print(f"Now: {now}")
# 常用模块
- os模块:处理文件和目录。
os.path.join()拼接路径,os.makedirs()创建目录,os.listdir()列出目录下的文件。 - datetime模块:处理日期和时间。
datetime.now()获取当前时间,strftime()格式化时间。 - re模块
温馨提示: 遇到问题,先查查有没有现成的模块可以用,不要重复造轮子。
# 函数:代码的积木
函数就是一段可以重复使用的代码块。就像积木,可以用来搭建各种各样的东西。
# 定义函数
定义函数用def关键字。
defGreet(name):
"""
这是一个示例函数,用于向指定的人打招呼。
"""
print(f"Hello, {name}!")
# 调用函数
Greet("World")
def后面是函数名,括号里是参数,冒号后面是函数体。函数体里的代码会依次执行。
# 函数参数
函数可以有参数,也可以没有。参数可以有默认值。
defpower(base, exponent=2):
"""
计算base的exponent次方。
exponent默认为2。
"""
result = base ** exponent
return result
# 调用函数,使用默认参数
print(power(5)) # 输出 25
# 调用函数,指定参数
print(power(5, 3)) # 输出 125
# 函数返回值
函数可以用return语句返回一个值。如果没有return语句,函数会默认返回None。
defadd(a, b):
"""
计算两个数的和。
"""
return a + b
# 调用函数,获取返回值
sum_result = add(3, 5)
print(f"The sum is: {sum_result}")
# 实际应用:批量修改文件名
现在结合上面学的知识,做一个实际的应用:批量修改文件名。假设有一堆图片,文件名都是乱七八糟的,想把它们改成统一的格式,比如image_001.jpg、image_002.jpg...
import os
defrename_files(dir_path, prefix="image_", suffix=".jpg"):
"""
批量重命名指定目录下的文件。
Args:
dir_path (str): 目录路径。
prefix (str): 文件名前缀,默认为 "image_"。
suffix (str): 文件名后缀,默认为 ".jpg"。
"""
file_names = os.listdir(dir_path)
count = 1
for file_name in file_names:
# 拼接完整的文件路径
old_path = os.path.join(dir_path, file_name)
# 构建新的文件名
new_name = f"{prefix}{count:03d}{suffix}"# 格式化数字,保持三位数
new_path = os.path.join(dir_path, new_name)
# 重命名文件
os.rename(old_path, new_path)
count += 1
print(f"Renamed '{file_name}' to '{new_name}'")
# 使用示例
dir_path = "/path/to/your/images"# 替换成你的图片目录
rename_files(dir_path)
使用注意:
- 需要把
/path/to/your/images替换成你实际的图片目录。 - 这个代码只是一个简单的示例,可以根据自己的需求进行修改。
# Excel操作:与表格共舞 (用到xlrd, xlwt, openpyxl模块)
Excel是办公必备工具,Python可以帮你自动读取、写入、修改Excel表格。这部分需要用到openpyxl模块哈,pip install openpyxl 安装一下子。
# 读取Excel
import openpyxl
defread_excel(file_path):
"""
读取Excel文件内容。
Args:
file_path (str): Excel文件路径。
"""
# 加载工作簿
workbook = openpyxl.load_workbook(file_path)
# 选择第一个工作表
sheet = workbook.active
# 逐行读取数据
for row in sheet.iter_rows(values_only=True): # values_only=True 只获取单元格的值
print(row)
# 使用示例
file_path = "data.xlsx"# 替换成你的Excel文件路径
read_excel(file_path)
# 写入Excel
import openpyxl
defwrite_excel(file_path, data):
"""
将数据写入Excel文件。
Args:
file_path (str): Excel文件路径。
data (list): 要写入的数据,二维列表。
"""
# 创建一个新的工作簿
workbook = openpyxl.Workbook()
# 选择第一个工作表
sheet = workbook.active
# 写入数据
for row in data:
sheet.append(row)
# 保存工作簿
workbook.save(file_path)
# 使用示例
data = [
["Name", "Age", "City"],
["Alice", 30, "New York"],
["Bob", 25, "London"],
["Charlie", 35, "Paris"]
]
file_path = "output.xlsx"# 替换成你要保存的Excel文件路径
write_excel(file_path, data)
读取、写入Excel只是基本操作,openpyxl还支持修改单元格样式、插入图片、创建图表等高级功能,可以自己去探索。
今天就先讲到这儿,希望能帮你入门Python自动化。自动化办公绝对是个提高效率的利器,学起来,用起来!