我必须将数据写入CSV文件。在代码的一部分中,我想将用户输入添加到字典中,然后将其转换为DataFrame
。
因此,首先我只需将输入分配给一个变量名,例如
fruit = input('Which fruit would you like').casefold()
vegetable = input('Which vegetable would you like').casefold()
drink = input('Which drink would you like').casefold()
然后它继续收集输入,直到用户要求它停止。但现在我需要首先显示收集到的数据的某一行,然后对数据进行排序,然后显示排序后的版本。所以我决定一个简单的方法就是把它放进字典里,然后把它排序成DataFrame
。不过,我不知道如何使用这些变量名,例如,如果我想制作一个这样的变量名:
data = {
'Fruits': fruits,
'Vegetables': vegetables,
'Drinks' : drinks
}
我该怎么做?如果你认为除了dictionary方法之外,还有另一种更简单的方法可以将这些信息添加到DataFrame
/将其写入CSV文件,请同时提及。
Python和SOF非常非常新,所以如果问题不清楚/愚蠢,请原谅我。此外,请使用简单的函数/方法。谢谢
globals((是一个将全局命名空间中所有当前变量的值存储在字典中的方法(locals((对本地命名空间执行相同操作(。因此,您可以向它传递一个带有变量名的字符串,它将返回当前值。类似于以下内容:print(globals((['fruit']('fruit'是全局字典中的关键字。所以你可以做这样的事情:
dict1={水果:[],蔬菜:[],溜冰场:[]}
而True:
q = input('q to exit return to continue: ')
if q == 'q':
break
else:
fruit = input('Which fruit would you like')
vegetable = input('Which vegetable would you like')
drink = input('Which drink would you like')
for k in dict1.keys():
dict1[k].append(globals()[k])
打印(dict1(
一种方法是:
d = {}
d['Fruit'] = input('Which fruit would you like').casefold()
d['Vegetable'] = input('Which vegetable would you like').casefold()
d['Drink'] = input('Which drink would you like').casefold()
在这里使用变量没有任何好处——只需直接使用字典中的输入即可。