利用python处理excel

本文介绍了使用Python处理大量个人所得税申报数据的经验。作者通过复制模板,将原始数据整理并填充到税表中,最初使用遍历方法导致运行缓慢。后来,通过利用dataframe的特性,显著提高了效率,如13.75万人的数据现在只需约35秒即可完成处理。
摘要由CSDN通过智能技术生成

本宝宝有个工作中,需要报送个人所得税,其实以前我写过一个集成报送各年金税金vba的小代码,但是因为新接的任务数据量太大,vba可能会假死,即使能处理,也因为最近在自学python,所以想尝试用python
我的思路是:把报税模板复制出来,然后每月自动根据年金领取信息填写保存,吐槽一下,税表模板是xls,只支持6万数据,我尝试用一个xlsx文件上传,不过也成功了,嘻嘻,所以我手工把模板改成xlsx格式
第一步:复制模板
野生代码如下:

import pandas as pd
import numpy as np
import shutil
import os
import datetime
data_today = datetime.date.today()
print(data_today)
person_template = 'D:\报税工作\报税模板\人员信息.xlsx'
income_template = 'D:\报税工作\报税模板\年金领取.xlsx'
person_form='D:\报税工作\\xx计划年金人员'+str(data_today)+'.xlsx'
income_form='D:\报税工作\\xx计划年金收入'+str(data_today)+'.xlsx'
shutil.copyfile(person_template, person_form)
shutil.copyfile(income_template, income_form)

成功运行
在这里插入图片描述
然后使用了 dataframe和numpy数组进行把原始数据整理以后分别填入两个税表保存,
不管怎样,程序可以用,但是笨猪我用了遍历,好慢
12万数据简直卡死
重新搜索,利用dataframe的特性
7539人大概5秒钟就可以运行完毕
13万7500人大概使用35秒,完美!!!

import pandas as pd
import numpy as np
import shutil
import datetime
import xlwings as xw
app=xw.App(visible=True,add_book=False)
app.display_alerts=False
app.screen_updating=False
date_today = datetime.date.today()
starttime = datetime.datetime.now()
person_template = 'D:\报税工作\报税模板\人员信息.xlsx'
income_template = 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
利用Python处理Excel数据并绘制两条折线图,可以使用以下步骤: 1. 安装所需的python库,如pandas、matplotlib等。 ``` pip install pandas matplotlib ``` 2. 使用pandas读取Excel数据。假设Excel文件中有两个工作表Sheet1和Sheet2,每个工作表都有两列数据x和y,可以使用以下代码读取: ```python import pandas as pd # 读取Sheet1数据 df1 = pd.read_excel('data.xlsx', sheet_name='Sheet1', usecols=['x', 'y']) # 读取Sheet2数据 df2 = pd.read_excel('data.xlsx', sheet_name='Sheet2', usecols=['x', 'y']) ``` 3. 绘制折线图。可以使用matplotlib库绘制折线图,以下是示例代码: ```python import matplotlib.pyplot as plt # 绘制Sheet1折线图 plt.plot(df1['x'], df1['y'], label='Sheet1') # 绘制Sheet2折线图 plt.plot(df2['x'], df2['y'], label='Sheet2') # 设置图例、标题等 plt.legend() plt.title('Two Lines') plt.xlabel('X') plt.ylabel('Y') # 显示图形 plt.show() ``` 完整代码示例: ```python import pandas as pd import matplotlib.pyplot as plt # 读取Sheet1数据 df1 = pd.read_excel('data.xlsx', sheet_name='Sheet1', usecols=['x', 'y']) # 读取Sheet2数据 df2 = pd.read_excel('data.xlsx', sheet_name='Sheet2', usecols=['x', 'y']) # 绘制Sheet1折线图 plt.plot(df1['x'], df1['y'], label='Sheet1') # 绘制Sheet2折线图 plt.plot(df2['x'], df2['y'], label='Sheet2') # 设置图例、标题等 plt.legend() plt.title('Two Lines') plt.xlabel('X') plt.ylabel('Y') # 显示图形 plt.show() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值