全局变量和.format()

2024-03-29 15:35:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我编写了一个python脚本来生成PDF报告。我不得不做一些数据操作来更改我使用的每个数据集中的列名。在

我的问题是,有没有办法设置一个全局变量,然后在Target_Hours_All.rename()中使用.format()???在

我已将每个列名硬编码。在

例如,Target_Hours_All.rename(columns = {'VP_x':'VP', '2018 Q1 Target Hours':'hourTarget18Q1'}, inplace = True)

但是,我希望每个季度都能运行这个,而不必每df.rename更新一次。相反,我希望将全局变量放在脚本的顶部并更改这些变量。在

任何帮助都将不胜感激!!!在


Tags: columns数据脚本formattarget编码pdf报告
1条回答
网友
1楼 · 发布于 2024-03-29 15:35:03

最简单的方法?将要更改的字符串从函数调用中移到变量中,然后在目标小时内使用这些变量_全部重命名() 这使得代码更容易阅读。在

我只能猜出目标时间_全部重命名做。但我的猜测是,它接受“columns”中的散列并用值替换键。对的?在

所以可以将列行写为:

columns = {}
vpl = 'VP_x'
vpr = 'VP'
columns[vpl] = vpr
target_hours_l = '20{year} {quarter} Target Hours'.format(year='18', quarter='Q1')
target_hours_r = 'hourTarget{year}{quarter}'.format(year='18',quarter='Q1')
columns[target_hours_l] = target_hours_r
Target_Hours_All.rename(columns = columns, ... )

是的,这是更多的代码,我不应该把我的has列命名为其他的。所以还有改进的方法。但它显示了如何使用.format()进行调用。在

相关问题 更多 >