Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| import streamlit as st | |
| from loguru import logger | |
| def load_bible(metadata_csv, verses_csv): | |
| # There is one constant metadata file (metadata_csv), | |
| # and another csv file containing the actual verses in the specified version (bible_csv). | |
| metadata_df = pd.read_csv(metadata_csv) | |
| verses_df = pd.read_csv(verses_csv, escapechar="\\") | |
| df = pd.merge(verses_df, metadata_df, on="b") | |
| df = df.fillna("") # Some verses are blank in some versions | |
| df = df[["n", "c", "v", "t_x", "t_y"]] | |
| # The data sources used have this convention in the columns. | |
| # Renaming them here for ease of remembrance. | |
| col_rename = { | |
| "t_y": "testament", | |
| "n": "book", | |
| "c": "chapter", | |
| "v": "verse", | |
| "t_x": "text", | |
| } | |
| df = df.rename(columns=col_rename) | |
| # Create a human-friendly string of specifying a verse (e.g. Genesis 1:1) | |
| df["source"] = df.apply( | |
| lambda row: f"{row['book']} {row['chapter']}:{row['verse']}", axis=1 | |
| ) | |
| logger.info( | |
| f"Successfully loaded Bible DF with {len(df):,} rows. Columns: {df.columns.tolist()}" | |
| ) | |
| return df | |