X Xooman
2020-04-21T08:34:05+00:00
[img]https://img.nga.178.com/attachments/mon_202004/25/-7Q5-547mK19T3cSsg-cf.jpg.medium.jpg[/img]
先上代码截图
我想实现从《数据统计》表格提取 第26列最后一行 数据赋值给《日报表格》 第9行 8-14列第一个空单元格,这两个表格都是每日更新的。
现在我已经完成第一步,提取出第26列最后一个单元格的值,但是想要赋值给《日报表格》的时候一直实现不了,运行完了之后会多一个“2020.4.25”的新表格,但是内容和旧表格一模一样。
运行也不报错,不知道问题出在哪里[s:ac:晕]
因为自学的python,不知道该问谁,就来娘家问问大佬们[s:ac:瞎]
忙猜一个,你这个value很可能是一个value,不是 reference。
ws2.cell().value的返回值你要看看是指向什么。盲猜一个value是cell的计算结果,而不是原本你想指代的那个cell
[quote][pid=416427846,21461255,1]Reply[/pid] Post by [uid=18122909]johnpotter[/uid] (2020-04-25 17:05):
忙猜一个,你这个value很可能是一个value,不是 reference。[/quote]老哥你是说41行这个values吗?这个是从39行来的,代表第9行8-14列的值
[quote][pid=416429782,21461255,1]Reply[/pid] Post by [uid=40610705]学习西方理论[/uid] (2020-04-25 17:12):
ws2.cell().value的返回值你要看看是指向什么。盲猜一个value是cell的计算结果,而不是原本你想指代的那个cell[/quote]我想法是这样的,
在第9行8-14列内索引单元格的值,也就是values=ws2.cell().value ,
当索引到第一个为空的单元格的时候(values =None),将另一个工作簿中提取的值(lastrow)填到这个空单元格里去
[quote][pid=416429711,21461255,1]Reply[/pid] Post by [uid=61252282]GRey_12[/uid] (2020-04-25 17:12):
多个文件是因为最后一行代码[/quote]在网上查了很多了,就是找不到原因[s:a2:哦嗬嗬嗬]
我记得有个什么csdn计算机论坛,你去那里肯定比这方便啊
values是从原来那个表找到的空元素,被赋值26行内容,然后呢?你并没有改变任何表格内容啊。再保存肯定和原来表格一模一样
你给values赋了值但是没改ws2啊,然后再把ws2保存一遍那可不就是复制了一份嘛
[quote][pid=416431545,21461255,1]Reply[/pid] Post by [uid=27294685]heheyes1512[/uid] (2020-04-25 17:19):
我想法是这样的,
在第9行8-14列内索引单元格的值,也就是values=ws2.cell().value ,
当索引到第一个为空的单元格的时候(values =None),将另一个工作簿中提取的值(lastrow)填到这个空单元格里去[/quote]if里写错了,last要赋值给ws2那个单元格,而不是赋值给value,你赋值给value不就等于没有对单元格操作么,最后出来的文件可不是得一模一样
建议学习下pandas的用法 处理Excel更好用
赋值语句理解错了,你只是把values变量改了,其实你需要把那个cell的value改掉,所以save后没变化
在if里面让ws2.cell=lastrow(26),你那样写不就是把第九列得值给了value,然后又把lastrow26的值给了value,,表格等于没操作啊
[quote][pid=416435505,21461255,1]Reply[/pid] Post by [uid=30538439]ezio023[/uid] (2020-04-25 17:35):
建议学习下pandas的用法 处理Excel更好用[/quote]pandas存储为xlsx的时候会调用楼主用的这个module
[quote][pid=416438817,21461255,1]Reply[/pid] Post by [uid=81341]silverna[/uid] (2020-04-25 17:48):
pandas存储为xlsx的时候会调用楼主用的这个module[/quote]所以封装好了会更好用呀[s:a2:doge]