python - 在 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 循环之外访问?
解决方案
您需要在函数顶部定义变量名称,然后使用
a = dataframe
def func():
global a
a = yourdataframe
推荐阅读
- go - Goland 从按钮单击运行/重新运行命令
- swiftui - 如何在 LinearGradient 初始化程序中使用变量 - SwiftUI
- html - 为什么下面提到的代码无法区分
标题和普通文本? - python - Python:如何将包含额外分隔符的字符串拆分为值
- javascript - 在 CSS 3D 旋转画布上获取鼠标坐标
- android - 在转换为自定义对象之前检查 json
- javascript - Redux + TypeScript 和 mapDispatchToProps
- mysql - 根据错误 1364,id 值需要默认值吗?
- python - How to simplify/what to use these if statements?
- java - I have created custom jList renderer but i am not able to get the selected cell text