|
import io |
|
import time |
|
|
|
import pandas as pd |
|
import streamlit as st |
|
|
|
|
|
@st.cache_data |
|
def convert_dfs(dfs: list[pd.DataFrame], sheet_names: list[str]) -> bytes: |
|
|
|
|
|
|
|
bytes_io = io.BytesIO() |
|
|
|
|
|
with pd.ExcelWriter(bytes_io, engine="xlsxwriter") as writer: |
|
for df, sheet_name in zip(dfs, sheet_names): |
|
df.to_excel(writer, sheet_name=sheet_name, index=True) |
|
|
|
|
|
bytes_data = bytes_io.getvalue() |
|
|
|
|
|
bytes_io.close() |
|
|
|
return bytes_data |
|
|
|
|
|
def save_dataframe(df: pd.DataFrame, sheet_name: str): |
|
""" |
|
Save the dataframe to a csv file. |
|
|
|
Args: |
|
df (pd.DataFrame): The dataframe to save. |
|
sheet_name (str): The name of the sheet. |
|
""" |
|
df.to_csv(f"data2/{sheet_name}_{time.time()}.csv", index=False) |
|
|