python批量创建变量并赋值操作


Posted in Python onJune 03, 2021

一,简单的情况:

核心是exec函数,exec函数可以执行我们输入的代码字符串。exec函数的简单例子:

exec ('print "hello world"')
hello world

可以很清晰的看到,我们给exec传入一个字符串'print "hello world"',exec是执行字符串里面的代码print "hello world"。根据这个特性,我们可以用占位符实现我们对变量的定义,如:

exec ("temp%s=1"%1)

这段代码的意思是,让exec执行temp1=1。字符串里面的%s由‘1'代替了。我们在外面再套一个循环就可以实现对多个变量的定义了。

for i in range(10):
    exec ("temp%s=1"%i)

在这里,通过一个循环来生成10个变量,i的变化从0到9。用变量i替代%s,所以在每次循环里面,分别给temp0,temp1赋值。

执行结果:

python批量创建变量并赋值操作

如果想要替换多个占位符,可以这样写:

exec ("temp%s=%d"%(i,i))

在这里,分别以字符串、整数形式替换占位符,执行结果:

temp1=1

又如:

df_vars = [ 'df_%s_head' %i for i in range(0,10)]

df_vars:

['df_0_head',
 'df_1_head',
 'df_2_head',
 'df_3_head',
 'df_4_head',
 'df_5_head',
 'df_6_head',
 'df_7_head',
 'df_8_head',
 'df_9_head']

再比如:

for i in range(8):
     exec('v' + str(i) + ' = ' + str(i))
     print('v' + str(i) + ':', eval('v' + str(i)))

输出结果:

python批量创建变量并赋值操作

例子:

在python中,为了生成顺序的变量名并将其赋值,如

a_1 = []
a_2 = []
a_3 = []
.....
a_100 = []

可以利用将字符串转换成变量的函数exec

for i in range(1,100):
    b = 'a_' + str(i)
    exec(b + '= %r' % [])

二,略微复杂的命名

提取出:

D:/MyData/Excel/input/MarketHoliday_2018.xls

D:/MyData/Excel/input/MarketHoliday_2019.xls

。。。

D:/MyData/Excel/input/MarketHoliday_2023.xls

year = [2018,2019,2020,2021,2022,2023] 
file_path = 'D:/MyData/Excel/input/MarketHoliday_'  #注意:这里一定要用单引号

要先把year转为dict, 以便运用在For循环中,这里我用pandas转换

import pandas as pd
year = pd.Series(year)
year_dict = year.to_dict()

得到:

python批量创建变量并赋值操作

for i in year_dict:
    exec('Var_'+str(year_dict[i])+'='+'"'+(file_path + str(year_dict[i])+'.xls'+'"'))
    print('Var_'+str(year_dict[i])+':',eval('Var_'+str(year_dict[i])))

最终结果:

python批量创建变量并赋值操作

python 动态生成变量名及赋值

今晚在处理数据的时候偶然遇到一个命名上的难点,但是为了实现自动处理坚决不动手一条一条输入参数,我非要把它解决了,问题是这样的

首先我想要调用一个方法,然后输入的变量可以是字符串,但是,当你直接把字符串输入就不行了

这里献上代码:

t=['42342lh','234']
s='fgdfhdfhdfh'
exec(s+'=%s'%'t[0]')
print(fgdfhdfhdfh)
for i in range(2):
    m=f'names{i}'
    exec(m+'=%s'%'t[i]')
print(names1)

可以看出来m可以自己按规律这sing,同时也可以规律读取,最后每个m就成了变量。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python写的创建文件夹自定义函数mkdir()
Aug 25 Python
用Python的线程来解决生产者消费问题的示例
Apr 02 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
Jan 20 Python
详解Python之数据序列化(json、pickle、shelve)
Mar 30 Python
Python爬虫框架Scrapy实例代码
Mar 04 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
Oct 14 Python
使用Scrapy爬取动态数据
Oct 21 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
Jan 29 Python
python实现基于朴素贝叶斯的垃圾分类算法
Jul 09 Python
python2和python3实现在图片上加汉字的方法
Aug 22 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
Oct 18 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
Apr 27 Python
详解运行Python的神器Jupyter Notebook
Jun 03 #Python
python中如何对多变量连续赋值
Python连续赋值需要注意的一些问题
Jun 03 #Python
pytorch fine-tune 预训练的模型操作
Jun 03 #Python
Python实现byte转integer
Jun 03 #Python
Python数据分析之绘图和可视化详解
Python数据分析之pandas读取数据
Jun 02 #Python
You might like
简单PHP上传图片、删除图片实现代码
2010/05/12 PHP
PHP制作百度词典查词采集器
2015/01/29 PHP
Zend Framework教程之Zend_Layout布局助手详解
2016/03/04 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
2017/03/06 PHP
thinkphp5.1框架模板布局与模板继承用法分析
2019/07/19 PHP
Mootools 1.2教程 定时器和哈希简介
2009/09/15 Javascript
JavaScript类和继承 constructor属性
2010/03/04 Javascript
JS实现遮罩层效果的简单实例
2013/11/12 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
JavaScript比较两个对象是否相等的方法
2015/02/06 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案
2017/02/23 Javascript
js图片放大镜效果实现方法详解
2020/10/28 Javascript
VueJs 搭建Axios接口请求工具
2017/11/20 Javascript
Nuxt.js实战详解
2018/01/18 Javascript
实战node静态文件服务器的示例代码
2018/03/08 Javascript
使用Vue的slot插槽分发父组件内容实现高度复用、更加灵活的组件(推荐)
2018/05/01 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
Python如何import文件夹下的文件(实现方法)
2017/01/24 Python
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
PyTorch快速搭建神经网络及其保存提取方法详解
2018/04/28 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
详解Python3 pandas.merge用法
2019/09/05 Python
python 利用turtle模块画出没有角的方格
2019/11/23 Python
python自动提取文本中的时间(包含中文日期)
2020/08/31 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
法国和欧洲海边和滑雪度假:Pierre & Vacances
2017/01/04 全球购物
Brasty罗马尼亚:购买手表、香水、化妆品、珠宝
2020/04/21 全球购物
生产车间班组长岗位职责
2014/01/06 职场文书
甜品店创业计划书
2014/08/14 职场文书
科学发展观活动总结
2014/08/28 职场文书
博士生专家推荐信
2014/09/26 职场文书
2014年图书馆个人工作总结
2014/12/18 职场文书
工商局个人工作总结
2015/03/03 职场文书
导游词之镇江焦山
2019/11/21 职场文书
SpringBoot工程下使用OpenFeign的坑及解决
2021/07/02 Java/Android