Spaces:
Sleeping
Sleeping
# app.py | |
import streamlit as st | |
import pandas as pd | |
import docx | |
def process_financial_data(file): | |
try: | |
if file.name.endswith('.csv'): | |
df = pd.read_csv(file) | |
elif file.name.endswith(('.xls', '.xlsx')): | |
df = pd.read_excel(file) | |
elif file.name.endswith('.docx'): | |
doc = docx.Document(file) | |
data = [] | |
for para in doc.paragraphs: | |
data.append(para.text) | |
df = pd.DataFrame({'Content': data}) | |
else: | |
st.error("Unsupported file format. Please upload a CSV, Excel, or Word document.") | |
return None, None, None | |
if 'Type' in df.columns: | |
income_statement = df[df['Type'] == 'Income Statement'] | |
balance_sheet = df[df['Type'] == 'Balance Sheet'] | |
cash_flow = df[df['Type'] == 'Cash Flow Statement'] | |
return income_statement, balance_sheet, cash_flow | |
else: | |
return df, None, None | |
except Exception as e: | |
st.error(f"Error processing file: {e}") | |
return None, None, None | |
st.title("Financial Accounting App") | |
st.write("Upload a financial data file (CSV, Excel, Word) to generate statements.") | |
uploaded_file = st.file_uploader("Upload a file", type=["csv", "xls", "xlsx", "docx"]) | |
if uploaded_file is not None: | |
income_stmt, balance_sht, cash_flw = process_financial_data(uploaded_file) | |
if income_stmt is not None: | |
st.subheader("Processed Data") | |
st.dataframe(income_stmt) | |
if balance_sht is not None: | |
st.subheader("Balance Sheet") | |
st.dataframe(balance_sht) | |
if cash_flw is not None: | |
st.subheader("Cash Flow Statement") | |
st.dataframe(cash_flw) | |
st.write("Developed for financial statement analysis.") | |