Python办公

今天帮招办处理几个Excel表格,都是一些机械的重复操作,所以考虑使用Python和VBA合作来完成自动化操作,现将操作步骤记录下来以供以后使用。

Python批量修改文件名

这个很简单,只需要以下几行代码即可

import os
for i in range(80):
    filename = "xs2016-%d系-带专业代号.xlsx" % i
    dstfilename = "xs2016-%d系-不带专业代号.xlsx" % i
    print os.path.exists(filename)
    print filename
    if(os.path.exists(filename)):
        print filename
        os.rename(filename,dstfilename)

效果如下
这里写图片描述

VBA操作表格

第二步是需要进入Excel后删除每个表里的部分列,这里我们使用Excel自带的宏来完成。
按照
http://jingyan.baidu.com/article/90895e0fe9ee6164ec6b0b09.html
这个教程提供的录制宏的方法录制后,得到的宏如下

Sub 删除专业代号()
'
' 删除专业代号 宏
'
' 快捷键: Ctrl+b
'
    Columns("AN:AY").Select
    Selection.Delete Shift:=xlToLeft
End Sub

这里写图片描述

注意这里的位置为所有打开的工作簿而不是当前的工作簿。

把它的快捷键设置为Ctrl + B,然后在Python里模拟键盘输入,再使用循环即可对所有的表格执行删除操作。核心代码如下。

import os
import win32api
import win32con
import time

os.startfile("带专业代号\\xs2016-1系-带专业代号.xls")
time.sleep(5)
win32api.keybd_event(17,0,0,0)  #ctrl键位码是17
win32api.keybd_event(66,0,0,0)  #B键位码是66

win32api.keybd_event(66,0,win32con.KEYEVENTF_KEYUP,0) #释放按键
win32api.keybd_event(17,0,win32con.KEYEVENTF_KEYUP,0)

通过Python模拟鼠标和键盘以及VBA即可实现诸如Office、Auto CAD等常用软件的批量处理。

在使用 Python 进行 Excel 办公自动化任务时,开发者可以利用一系列强大的库来高效地读取、处理和生成 Excel 文件。以下是一些关键的库和方法: ### 读取 Excel 文件 对于读取 Excel 文件,`pandas` 提供了一个简洁的接口,可以轻松地将 Excel 文件中的数据加载到 DataFrame 中,便于后续的数据处理。例如,可以使用 `pd.read_excel()` 函数来读取一个 Excel 文件[^3]。 另一个用于读取 Excel 文件的库是 `xlrd`,它支持 `.xls` 和 `.xlsx` 格式的文件读取。通过 `xlrd.open_workbook()` 函数可以打开一个 Excel 文件,并获取文件中的表单数量和表单名称等信息[^4]。 ### 修改 Excel 文件 当需要修改 Excel 文件时,`openpyxl` 是一个非常有用的库,它不仅支持读取 `.xlsx` 文件,还允许用户创建新的 Excel 文件以及修改现有的文件。例如,可以通过 `Workbook` 对象来添加新的工作表或者更新现有工作表的数据[^2]。 ### 生成 Excel 文件 生成 Excel 文件时,`pandas` 同样提供了便利的方法,如 `DataFrame.to_excel()` 可以将 DataFrame 中的数据保存为 Excel 文件。此外,`openpyxl` 也可以用来创建新的 Excel 文件,并向其中写入数据[^2]。 ### 示例代码 以下是一个使用 `pandas` 读取 Excel 文件并按月份聚合数据,最后将结果保存到新 Excel 文件的示例代码: ```python import pandas as pd # 读取生成的数据 df = pd.read_excel('2024年员工工资和财务指标数据.xlsx') # 按月份聚合数据 monthly_report = df.groupby(['年份', '月份']).agg( 总收入=('公司收入', 'sum'), 总支出=('公司支出', 'sum'), 总利润=('利润', 'sum'), 总成本=('成本', 'sum') ).reset_index() # 将财务报表保存到 Excel monthly_report.to_excel('2024年每月财务报表.xlsx', index=False) print("每月财务报表生成完成,已保存到 '2024年每月财务报表.xlsx'。") ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值