Here is the code to direct URL that contains the transactions.npz file
import requests
from io import BytesIO
import streamlit as st
st.markdown("[Download transactions.npz](https://drive.google.com/file/d/1Kmb0PPDdfEwP8U2E7GnZ_yeSnPNeKKo-/view?usp=drive_link)")
# Define the URL of the hosted file
file_url = "https://drive.google.com/uc?id=1Kmb0PPDdfEwP8U2E7GnZ_yeSnPNeKKo-"
# Download the file using requests
response = requests.get(file_url)
content = response.content
arrays = dict(np.load((BytesIO(content), allow_pickle=True))
data = {k: [s.decode("utf-8") for s in v.tobytes().split(b"\x00")] if v.dtype == np.uint8 else v for k, v in arrays.items()}
df_transactions = pd.DataFrame.from_dict(data)
# Define the URL of the hosted file
file_url = "https://drive.google.com/uc?id=1Kmb0PPDdfEwP8U2E7GnZ_yeSnPNeKKo-"
to
file_url = "https://drive.google.com/uc?export=view&id=1Kmb0PPDdfEwP8U2E7GnZ_yeSnPNeKKo-"
arrays = dict(np.load((BytesIO(content), allow_pickle=True)) # some error in this
arrays = dict(np.load(BytesIO(content), allow_pickle=True))
Solution: Modify the code to use the direct download link (https://drive.google.com/uc?id=... ) for the file hosted on Google Drive. Ensure the file’s sharing settings allow anyone with the link to view it.