Here is the working solution to what you have described.
Create an empty dictionary and think of the items in the list as the keys to access your dictionary. The data against each key is a Pandas DataFrame (empty) and has the two columns as you said.
sample_list = ['l1', 'l2', 'l3']
sample_dict = dict()
for index, item in enumerate(sample_list):
print('Creating an empty dataframe for the item at index {}'.format(index))
sample_dict['{}'.format(item)] = pd.DataFrame(columns=['Product_Name', 'Quantity'])
Check if the dictionary got correctly created:
print(sample_dict)
{'l1': Empty DataFrame
Columns: [Product_Name, Quantity]
Index: [],
'l2': Empty DataFrame
Columns: [Product_Name, Quantity]
Index: [],
'l3': Empty DataFrame
Columns: [Product_Name, Quantity]
Index: []}
And the keys of the dictionary are indeed the items in the list:
print(sample_dict.keys())
dict_keys(['l1', 'l2', 'l3'])
Cheers!