我正在为年底的笔记本电脑退货写一个网络应用程序,让我们的生活更轻松。我有一个.csv文件,其中包含设备序列号和相关用户的姓名、用户代码等。我使用 flask 作为框架工作,一切都很顺利。我可以使用pandas来创建dataframe并查找我需要的所有信息,但是,它要么只使用一个用户的详细信息创建一个新的dataframe,这意味着我必须再次从中提取信息,或者我通过在整个表上运行dataframe.loc查询5次来设置我需要的每个变量,这对我来说似乎非常低效。
我想做的是运行一次.loc查询,并将多个变量设置为返回行的相应单元格的值。我已经找遍了,但我找不到这样做的方法,但也许我的google-fu没有我想象的那么好。
我知道这可能是我应该在以后的步骤中调整效率时改变的事情,现在只专注于让它工作,但当5个查询可以用1个处理时,这似乎是一个大洞。
这是我当前的代码(它只获取名字和姓氏,但我将不得不在以后获得更多信息)。
`@app.route('/lookup', methods=['GET','POST'])
def lookup():
st = request.form['serviceTag'] if 'serviceTag' in request.form else None
fName = df.loc[st]['fName']
sName = df.loc[st]['sName']
return {
'fname': fName,
'sname': sName
}`
干杯!干杯!
1条答案
按热度按时间vngu2lb81#
您可以简单地向
loc
提供列列表,然后在结果上使用to_dict
:请注意,如果
st
是None
,这将引发KeyError,在这种情况下,您可能希望返回None
。例如