为了账号安全,请及时绑定邮箱和手机立即绑定

如何在python中循环列表时动态创建df?

如何在python中循环列表时动态创建df?

千万里不及你 2021-10-12 16:10:55
def create_df(src,header=None):    df =spark.read.csv(src, header=header)    return dfresult = source_df.filter(f.col('Job_name') == job_name).select(source_df['dfname'],source_df['srcpath']).collect()for x in result:    src=str('"' +x[1] + '"'.strip(' '))    src = str(src)    x[0] = create_df(src, header=True)   //throwing an uft-8 encod结果是一个包含 2 列的列表,称为 dfname 和源路径,需要循环结果列表并根据 dfname 值需要动态创建传递 df 名称。| dfname     | SPath        ||------------+--------------|| Account_Df | s3://path... || ProdMet_Df | s3://path... |基于df名称需要创建dfnames吗?预期输出 Account_Df 和 ProdMet_Df 两个独立的 dfs。
查看完整描述

1 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

如果您绝对确定需要这样做,您可以更新globals()字典以在全局(模块)命名空间中创建一个变量。你的最后一行代码应该是:

    globals()[x[0]] = create_df(src, header=True)


查看完整回答
反对 回复 2021-10-12
  • 1 回答
  • 0 关注
  • 400 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信