如何用python写一些小工具提升工作效率

如何用python写一些小工具提升工作效率

文件批量重命名工具

可以编写一个Python脚本,使用os模块来批量重命名文件,如将文件名中的日期格式化为另一种形式。

import os
import re

# 定义文件路径和正则表达式
path = 'path/to/files'
pattern = r'(\d{4})-(\d{2})-(\d{2})'

# 遍历文件夹中的文件
for filename in os.listdir(path):
    # 匹配文件名中的日期
    match = re.search(pattern, filename)
    if match:
        # 格式化日期为另一种形式
        new_filename = f'{match.group(3)}-{match.group(2)}-{match.group(1)}_{match.group(0)}'
        # 重命名文件
        os.rename(os.path.join(path, filename), os.path.join(path, new_filename))

自动化邮件发送工具

可以编写一个Python脚本,使用smtplib和email模块来自动发送邮件,如发送每日报告或提醒。

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage

# 定义邮件参数
smtp_server = 'smtp.example.com'
smtp_port = 587
smtp_username = 'username'
smtp_password = 'password'
from_addr = 'sender@example.com'
to_addr = 'recipient@example.com'
subject = 'Daily report'

# 创建邮件对象
msg = MIMEMultipart()
msg['From'] = from_addr
msg['To'] = to_addr
msg['Subject'] = subject

# 添加文本内容
text = 'This is the daily report.'
msg.attach(MIMEText(text, 'plain'))

# 添加图片附件
with open('path/to/image.jpg', 'rb') as f:
    image = MIMEImage(f.read())
    image.add_header('Content-Disposition', 'attachment', filename='image.jpg')
    msg.attach(image)

# 发送邮件
with smtplib.SMTP(smtp_server, smtp_port) as smtp:
    smtp.starttls()
    smtp.login(smtp_username, smtp_password)
    smtp.sendmail(from_addr, to_addr, msg.as_string())

网络端口扫描工具

可以编写一个Python脚本,使用第三方库如Nmap或Scapy来进行网络端口扫描,如扫描内网主机的开放端口。

import nmap

# 定义扫描函数
def scan(target):
    nm = nmap.PortScanner()
    nm.scan(target, arguments='-p 1-65535')
    for host in nm.all_hosts():
        print(f'Scan results for {host}:')
        for port in nm[host]['tcp']:
            print(f'Port {port} is {nm[host]["tcp"][port]["state"]}')

# 扫描内网主机的开放端口
scan('192.168.1.0/24')

excel表格批量处理

批量读取和处理Excel表格数据

可以编写一个Python脚本,使用openpyxl库来批量读取Excel表格中的数据,并进行处理,如筛选特定条件的数据、计算统计信息等。

import openpyxl

# 批量读取Excel表格数据并处理
files = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx']
for file in files:
    wb = openpyxl.load_workbook(file)
    sheet = wb.active

    # 处理数据,如筛选特定条件的数据
    for row in sheet.iter_rows(min_row=2, max_row=sheet.max_row, min_col=1, max_col=3):
        if row[2].value == 'Completed':
            print(f'{row[0].value} - {row[1].value} - {row[2].value}')

    wb.close()

批量创建和填充Excel表格

可以编写一个Python脚本,使用openpyxl库来批量创建Excel表格,并填充数据,如生成每月销售报表。

import openpyxl

# 批量创建Excel表格并填充数据
months = ['January', 'February', 'March']
for month in months:
    wb = openpyxl.Workbook()
    sheet = wb.active

    # 填充数据,如生成每月销售报表
    sheet['A1'] = 'Date'
    sheet['B1'] = 'Product'
    sheet['C1'] = 'Revenue'
    sheet.append(['2022-01-01', 'Product A', 1000])
    sheet.append(['2022-01-15', 'Product B', 1500])

    wb.save(f'{month}_report.xlsx')
    wb.close()

批量合并和分析Excel表格数据

可以编写一个Python脚本,使用openpyxl库来批量合并多个Excel表格,并进行数据分析,如计算总销售额、生成汇总报表。

import openpyxl

# 批量合并和分析Excel表格数据
files = ['January_report.xlsx', 'February_report.xlsx', 'March_report.xlsx']
total_revenue = 0
for file in files:
    wb = openpyxl.load_workbook(file)
    sheet = wb.active

    # 分析数据,如计算总销售额
    for row in sheet.iter_rows(min_row=2, max_row=sheet.max_row, min_col=3, max_col=3):
        total_revenue += row[0].value

    wb.close()

# 生成汇总报表
summary_wb = openpyxl.Workbook()
summary_sheet = summary_wb.active
summary_sheet['A1'] = 'Total Revenue'
summary_sheet['B1'] = total_revenue
summary_wb.save('summary_report.xlsx')
summary_wb.close()
© 版权声明
THE END
喜欢就支持一下吧
点赞12赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容