首页 > 编程语言 >盘点一个Python自动化办公Excel数据填充实战案例(上篇)

盘点一个Python自动化办公Excel数据填充实战案例(上篇)

时间:2023-10-08 09:47:27浏览次数:36  
标签:Python 代码 Excel value cell 盘点 ws iloc

大家好,我是皮皮。

一、前言

前几天在Python白银交流群【上海新年人】问了一个Python自动化办公的问题,一起来看看吧。有个表格,里面每行信息,如下图所示:

image.png

现在需要将数据贴到另一个文件指定单元格中,另一个文件是这样子的。

image.png

下图是他的原始数据和他想得到的目标数据,一页有三个,如下所示:

image.png

预期得到的效果是下图这样子。

image.png

二、实现过程

这里粉丝自己写了一个代码,如下所示:

os.chdir(r'C:\Users\Administrator\Desktop\pandas练习\练习用')
df = pd.read_excel('批量付款制作.xlsx')
path1 = r'C:\Users\Administrator\Desktop\pandas练习\练习用\图片存放处'
wb = load_workbook('财务表单最新上海民福.xlsx')
ws = wb['付款申请单']
for i in range(len(df) // 3 + 1):
    v = df.iloc[3*i:3*(i+1)]
    ws.cell(3,2).value = v.iloc[i,0]
    ws.cell(5,2).value = v.iloc[i,i+1]
    ws.cell(6,2).value = v.iloc[i,i+2]
    ws.cell(8,2).value = v.iloc[i,i+3]
    ws.cell(12,2).value = v.iloc[i+1,i]
    ws.cell(14,2).value = v.iloc[i+1,i+1]
    ws.cell(15,2).value = v.iloc[i+1,i+2]
    ws.cell(17,2).value = v.iloc[i+1,i+3]
    ws.cell(21,2).value = v.iloc[i+2,i]
    ws.cell(23,2).value = v.iloc[i+2,i+1]
    ws.cell(24,2).value = v.iloc[i+2,i+2]
    ws.cell(26,2).value = v.iloc[i+2,i+3]
    wb.save(os.path.join(path1,str(i)) + '.xlsx')

代码运行之后,生成不了文件,而且样式也不对,肯定哪里有问题。这里【瑜亮老师】给了一个思路:可以尝试在word中制作表格,然后用代码实现批量生成或者打印。这个方法确实蛮不错的,肯定可以搞起来。把表格直接复制粘贴到word中,然后调整好行高行宽,参考文章中的思路和代码即可轻松实现需求。

image.png

数据发上来之后,他自己重新写了一个代码,但是出现报错,如下图所示:

image.png

那么该如何解决呢?下一篇文章,我们一起来看看【论草莓如何成为冻干莓】大佬使用Pandas进行实现!敬请期待!

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python自动化办公的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【上海新年人】提问,感谢【隔壁

标签:Python,代码,Excel,value,cell,盘点,ws,iloc
From: https://www.cnblogs.com/dcpeng/p/17748103.html

相关文章

  • Python基础环境安装
    环境安装记录,便以后直接一套执行一、准备1.Python下载地址:https://www.python.org/downloads/windows/2.卸载①控制面板寻找Python直接卸载;②查看环境变量path中python的变量,找到对应文件夹,将文件夹删除,后在删除环境变量中有关python的变量;③Win+R运行"regedit"打开注......
  • 高效数据管理:Java助力实现Excel数据验证
    摘要:本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。前言在Java中,开发者可以使用一些开源的库(如ApachePOI)来添加、修改和处理Excel中的数据:包括数字、文本、日期、列表等。每种数据验证类型都具有不......
  • 深挖 Python 元组 pt.1
    哈喽大家好,我是咸鱼好久不见甚是想念,2023年最后一次法定节假日已经结束了,不知道各位小伙伴是不是跟咸鱼一样今天就开始“搬砖”了呢?我们知道元组(tuple)是Python的内置数据类型,tuple是一个不可变的值序列tuple的元素可以是任何类型,一般用在存储异构数据(例如数据库记录)的场景......
  • 配置Python国内pip源
    使用按键win+e打开文件管理器,在上方路径栏输入:%APPDATA%查看此目录下是否有pip目录,如果没有则需要创建,并在pip目录下以文本方式添加pip.ini文件。写入内容为[global]index-url=https://pypi.tuna.tsinghua.edu.cn/simple也可以更改index-url的内容为其他pip源。保存退......
  • 【进阶16】Python多线程实战案例
    一、Python实现多线程的几种方式_thread:模块提供了基本的线程和互斥锁支持;更底层的的线程管理实现模块threading:threading模块则通过封装_thread,提供了更加全面的线程使用方法。_thread案例:#*coding:utf-8*#用_thread启动多个线程完成任务import_threadimportthread......
  • python Excel添加Excel附件
    #"""#插入附件importwin32com.clientif__name__=="__main__":filename=r"23年09月.xlsx"xlApp=win32com.client.Dispatch('Excel.Application')xlApp.Visible=0#0不可见,1可见workbook=xlApp.Wo......
  • 用Python画函数的曲线
    #coding:utf8importmatplotlib.pyplotaspltimportnumpyasnp#先获取一个图表fig=plt.figure()stringabc="test"#设置x,y坐标轴的刻度显示范围plt.xlim(-7,7)plt.ylim(-3,7)#抛物线X1=np.linspace(-5,5,50)#-5~5之间生成50个点Y1=0.25*X1**2plt......
  • Python 元组完全指南2
    更新元组更改元组的值元组是不可更改的,但有一种变通方法。您可以将元组转换为列表,更改列表,然后将列表转换回元组。示例:x=("apple","banana","cherry")y=list(x)y[1]="kiwi"x=tuple(y)print(x)添加项由于元组是不可变的,没有内置的append()方法,但可以使用其他......
  • python · ssh · SQL | python 连接远程 SQL 数据库
    python连接本地SQL的教程存档。如果要连接远程的SQL数据库,需要先开一个ssh连接,在ssh连接里写pymysql的connect代码。代码如下:'''pipinstallpymysqlpipinstallsshtunnel'''importpymysqlimportpandasaspdfromsshtunnelimportSSHTunnelForward......
  • 在Python中,元类是什么?
    内容来自DOChttps://q.houxu6.top/?s=在Python中,元类是什么?什么是元类(metaclasses)?它们用于什么目的?元类是Python中的一种高级概念,它们是创建类的类。在Python中,类也是对象,因此它们也可以被看作是对象的模板。元类允许您控制类的创建过程,例如修改类的属性或方法,或者添加新的......