从数据框中读取信息

时间:2020-07-31 07:36:41

标签: python pandas multithreading dataframe

我正在编写服务器客户端模型,因此我有多个并行运行的线程,因此我尝试锁定共享资源并尝试读取数据帧。 但是我无法做到这一点。

这是我的代码,它负责读取数据框。

def get_user_data(user_name):
    global User_base_info
    print(User_base_info)
    Error = False
    Passcode = None
    User_id = None
    try:
        print("in")
        Lock.acquire()
        print("lock", user_name)
        Passcode = User_base_info.loc(user_name, "Passcode")
        User_id = User_base_info.loc(user_name, "User_ID")
        print(Passcode, User_id, "hii")
    except KeyError:
        Error = True
    finally:
        time.sleep(2)
        Lock.release()
        return Passcode, User_id, Error

if (__name__ == "__main__"):
    load_base_user_database()
    #print(User_base_info)
    print(get_user_data("RedDragon47"))

这是我得到的输出

            User_ID        Passcode
User_name                          
RedDragon47   47aa4  ...........
in
lock RedDragon47
(None, None, False)
[Finished in 3.9s]

1 个答案:

答案 0 :(得分:0)

.loc访问器与索引一起使用,而不是像这样的方法调用:

passcode = User_base_info.loc[user_name, "Passcode"]
#                 ^                     ^

但是,鉴于您试图获取单个值而不是一系列值,您可能想像这样使用at方法:

passcode = User_base_info.at[user_name, "Passcode"]
相关问题