From 9a9a87874722528b7ad9b0dfc76dab9092b3aede Mon Sep 17 00:00:00 2001 From: Pritimay Sarkar Date: Sun, 26 Nov 2023 23:40:24 +0530 Subject: [PATCH] update final results --- scripts/final_result_update.py | 44 ++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 scripts/final_result_update.py diff --git a/scripts/final_result_update.py b/scripts/final_result_update.py new file mode 100644 index 0000000..63cd801 --- /dev/null +++ b/scripts/final_result_update.py @@ -0,0 +1,44 @@ +# from google.cloud import firestore +import firebase_admin +from firebase_admin import firestore +from google.cloud.firestore_v1.base_query import FieldFilter +from firebase_admin import credentials +import os +import pandas as pd +from tqdm import tqdm + +curdir = os.getcwd() +path_delim = '/' +df = pd.read_excel(curdir + path_delim + "data/Nov09.xlsx", sheet_name="op") + +project_id = 'af3cc' +collection_name = 'testData' +# document_ids = ['2808202300075ROOBHO', '2808202300075ROOBHO'] +sample_ids = df["Sample ID"].to_list() +print(len(sample_ids)) + +cred = credentials.Certificate(os.getcwd() + '/' + 'keys/hpos-prod-firebase-adminsdk.json') +firebase_admin.initialize_app(cred) + +db = firestore.client() + +batch_limit = 30 + +for i in tqdm(range(0, len(sample_ids), batch_limit)): + query = db.collection(collection_name).where(filter=FieldFilter("_id", "in", sample_ids[i: i+batch_limit])) + docs = query.stream() + batch = db.batch() + + for doc in docs: + doc_data = doc.to_dict() + doc_id = doc.id + doc_ref = db.collection(collection_name).document(doc_id) + # test_result = df[(df["Sample ID"] == doc_data["_id"])]["Test Result"].item() + test_result = df.loc[df["Sample ID"] == doc_data["_id"], "Test Result"].iloc[0] + + batch.update(doc_ref, {'finalResult': test_result}) + + # Commit the batch + batch.commit() + + # print("Batch update completed successfully.")