python - 分配动态变量名称
问题描述
我可以通过 201501 和 202008 之间的每个月加载文件
# list all months
def iterate_months(start_ym, end_ym):
for ym in range(int(start_ym), int(end_ym) + 1):
if ym % 100 > 12 or ym % 100 == 0:
continue
yield str(ym)
yyyymm = list(iterate_months('201501', '202008'))
# load the files from each month
for i in range(len(yyyymm)):
Research_files[i] = sorted(glob.glob('Research_observations'+yyyymm[i]+'*.csv'))
但变量名Research_files[i]
不直接显示年份和月份。当有太多月份时,这是一个问题。
有没有办法在加载时自动将它们命名为“Research_file_201501”、“Research_file_201502”...“Research_file_202008”?
解决方案
是的,使用 exec 将变量名作为字符串传递。
code_string = "Research_file_"+yyyymm[i]+" = sorted(glob.glob('Research_observations'+yyyymm[i]+'*.csv')) "
exec(code_string)
推荐阅读
- javascript - pixi.js rotateY 3d 轮播
- dojo - dojox.grid.EnhancedGrid 失去焦点
- jquery - 负边距jquery
- c# - 如何从WPF中的Gridcontrol获取所有行值
- php - 在 Laravel 中重新排序项目
- javascript - Socket.io 版本 2.1.0 错误 404
- javascript - Vue.js2 应用程序在 IE 浏览器中没有响应
- javascript - 重定向后无法访问组件中的 this.props.location
- java - java在哪里寻找netbeans中的文件?是否可以更改目录?
- bots - Telegram BOT 跟踪谁添加了用户