首页 > 解决方案 > 在 for 循环之外访问多个动态变量 - Python 中的全局关键字

问题描述

我正在使用 for 循环来读取多个 csv 文件并创建数据帧。我也想在 for 循环之外访问这些数据帧。我也使用了Global关键字,但它不起作用。

for file in os.listdir('C:\\Users\\ABCDE\\Desktop\\Measurement'):
  if file.endswith('.csv'):
     print(file)
     name = file[3:6]
     global df_name   # this is the line 
     df_name = 'df' + name  
     print(df_name)
     df_name = pd.read_csv('C:\\Users\\ABCDE\\Desktop\\Measurement\\' + str(file),low_memory = False)
     df_name.rename(columns={0:'values'}, 
             inplace=True)       
     g = df_name.level_1.str[-2:] # Extracting column names
     df_name['lvl'] = df_name.level_1.apply(lambda x: int(''.join(filter(str.isdigit, x))))

正如您在上面看到的,我也想在 for 循环之外访问这些数据帧(df_name(3 个数据帧,因为我有 3 个文件)

如何使用 Global 关键字使这些数据框可以在 for 循环之外访问?

标签: pythonpython-3.xfor-loopglobal-variablesglobal

解决方案


您需要在函数顶部定义变量名称,然后使用

a = dataframe

def func():
    global a
    a = yourdataframe

推荐阅读