Spaces:
Sleeping
Sleeping
from google.cloud import firestore | |
import pandas as pd | |
# Authenticate to Firestore with the JSON account key. | |
db = firestore.Client.from_service_account_json("./firebase.json") | |
scale = { | |
"Strongly disagree": 1, | |
"Disagree": 2, | |
"Neutral": 3, | |
"Agree": 4, | |
"Strongly agree": 5, | |
} | |
def get_data(): | |
data = { | |
'id': [] | |
} | |
obj = {} | |
for step in ["step_0", "step_1", "step_2", "step_3", "step_4", "step_all"]: | |
data = { **data, step: [], step + "_depends_on": [] } | |
collection = db.collection(step) | |
# print(collection) | |
docs = collection.stream() | |
for doc in docs: | |
if doc.id not in obj: | |
obj[doc.id] = {} | |
obj[doc.id][step] = scale[doc.to_dict()['beamlak']['scale']] | |
obj[doc.id][step + "_depends_on"] = doc.to_dict()['beamlak']['dependsOn'] | |
for key in obj: | |
data['id'].append(key) | |
for step in ["step_0", "step_1", "step_2", "step_3", "step_4", "step_all"]: | |
data[step].append(obj[key][step]) | |
for step in ["step_0", "step_1", "step_2", "step_3", "step_4", "step_all"]: | |
data[step + "_depends_on"].append(obj[key][step + "_depends_on"]) | |
return data | |
data = get_data() | |
df = pd.DataFrame(data) | |
df.to_csv('./likert.csv', index=False) | |