鱼C论坛

 找回密码
 立即注册
查看: 1083|回复: 3

excel数据赋值给数组的时候,无法把值传递,只能传递对应内存地址..怎么才能传递值?

[复制链接]
发表于 2018-5-9 19:41:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
最近我在写一个读取excel数据的小软件,目前遇到的问题是,我要读取A1:C1三个单元格的数值,用了循环赋值,
for xx range(1,4):
     location[1][xx].name=ws.cells(row=1,column=xx).value
     print location[1][xx].name
for xx range(1,4):
     print location[1][xx].name
第一个print就能正常输出三个不同的值,第二个print就输出三个一样的值,后面我查了一下,后面的输出,都指向同一个内存地址,然后我查到了用deepcopy函数,但是网上没有找到对应的模块,求大神指导,怎么才能让第二个print有不同输出?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-5-9 21:48:16 | 显示全部楼层
给一下location
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-11 00:30:39 | 显示全部楼层
把整个代码发上来才知道,现在只能猜
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-11 01:15:22 | 显示全部楼层
当然了,第一个print是在循环体里面,参与循环的,第二个是在外边,你是打印了三遍ws.cells(row=1,column=3).value
还有ws.cells(row=1,column=3).value 本来就是值了,前面直接用个变量就行了。你第二个print想干啥?
for xx range(1,4):
      a=ws.cells(row=1,column=xx).value
      print a
就是三个不同的值
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-30 02:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表