[英]How can I use items from list as variable and assign values to it?
我想使用 pandas 庫讀取多個 csv 文件,並且我想使用 for 循環將 dataframe 分配給列表中的項目。 目前我有兩個列表(一個列表包含 dataframe 名稱,第二個列表包含數據框)我正在使用以下代碼,例如:
list1 = ['amol', 'ankit', 'akshay', 'ashok'] # in actual there are 100+ items in the list
marks = [50, 60, 70, 80] # marks list actully contains dataframe - pandas.core.frame.DataFrame
for ind, name in enumerate(list1):
name = marks[ind]
print(amol)
# NameError: name 'amol' is not defined.
這不是為 'amol' 賦值並給出“NameError: name 'amol' is not defined”。
我嘗試使用字典。
list1 = ['amol', 'ankit', 'akshay', 'ashok']
marks = [50, 60, 70, 80]
mark_dict = {}
for ind, name in enumerate(list1):
mark_dict[name] = marks[ind]
print(mark_dict['amol'])
字典正在工作,但我想為“amol”賦值,因此可以執行下面的代碼並給我一個 output(在實際項目中它應該返回數據幀)。 請建議我該怎么做?
print(amol)
您可以使用globals()
將變量添加到模塊的全局命名空間。 zip
將把這兩個列表變成匹配元組(list1[0], marks[0])
等的迭代器... globals().update
像常規的dict.update
一樣工作,因此可以將這些元組直接輸入其中進行更新命名空間。
list1 = ['amol', 'ankit', 'akshay', 'ashok'] # in actual there are 100+ items in the list
marks = [50, 60, 70, 80]
globals().update(zip(list1, marks))
print(amol)
這不是一件常見的事情。 通常,人們會將動態生成的數據保存在字典中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.