OneCompiler

page2

120

import pandas as pd
import os

excel_file = 'contacts_data.csv'

def load_data():
if os.path.exists(excel_file):
return pd.read_csv(excel_file)
else:
return pd.DataFrame(columns=['Name', 'Emp_No', 'mail_id', 'Contact_1', 'Contact_2', 'Project', 'Location', 'Designation', 'Remarks'])

Function to save data to the Excel file

def save_data(df):
df.to_excel(excel_file, index=False)

Load existing data

data = load_data()

Page 1: Data Entry

def data_entry():
st.title("Contacts")

Name = st.text_input("Name", max_chars=200)
Emp_No = st.text_input("Emp_No", max_chars=100)
mail_id = st.text_input("mail_id", max_chars=500)
Contact_1 = st.text_input("Contact_1", max_chars=500)
Contact_2 = st.text_input("Contact_2", max_chars=500)
Project = st.text_input("Project", max_chars=500)
Location = st.text_input("Location", max_chars=500)
Designation = st.text_input("Designation", max_chars=500)
Remarks = st.text_input("Remarks", max_chars=500)

if st.button("Submit"):
    new_entry = pd.DataFrame({
        'Name': [Name],
        'Emp_No': [Emp_No],
        'mail_id': [mail_id],
        'Contact_1': [Contact_1],
        'Contact_2': [Contact_2],
        'Project': [Project],
        'Location': [Location],
        'Designation': [Designation],
        'Remarks': [Remarks]
    })
    data = load_data()
    data = pd.concat([data, new_entry], ignore_index=True)
    save_data(data)
    st.success("Data entry saved successfully!")

Page 2: View Entries

def view_entries():
st.title("View Existing Data Entries")

if data.empty:
    st.write("No entries found.")
else:
    for index, row in data.iterrows():
        st.markdown(f"[{row['Name']}]({row['Name']})")
        if st.button(f"View {row['Name']}"):
            st.write(f"**Emp_No:** {row['Emp_No']}")
            st.write(f"**mail_id:** {row['mail_id']}")
            st.write(f"**Contact_1:** {row['Contact_1']}")
            st.write(f"**Contact_2:** {row['Contact_2']}")
            st.write(f"**Project:** {row['Project']}")
            st.write(f"**Location:** {row['Location']}")
            st.write(f"**Designation:** {row['Designation']}")
            st.write(f"**Remarks:** {row['Remarks']}")

Page 3: Edit Entries

def edit_entries():
st.title("Edit Data Entry")

entry_titles = data['Name'].tolist()
selected_entry = st.selectbox("Select an entry to edit", entry_titles)

if selected_entry:
    entry_data = data[data['Name'] == selected_entry].iloc[0]
    
    title = st.text_input("Name of the entry", value=entry_data['Name'], max_chars=200)
    Emp_No = st.text_input("Emp_No", value=entry_data['Emp_No'], max_chars=100)
    mail_id = st.text_input("Objemail_id", value=entry_data['mail_id'], max_chars=500)
    Contact_1 = st.text_area("Contact_1", value=entry_data['Contact_1'], max_chars=5000)
    Contact_2 = st.text_area("Contact_2", value=entry_data['Contact_2'], max_chars=5000)
    Project = st.text_area("Project", value=entry_data['Project'], max_chars=5000)
    Location = st.text_area("Location", value=entry_data['Location'], max_chars=5000)
    Designation = st.text_area("Designation", value=entry_data['Designation'], max_chars=5000)
    Remarks = st.text_input("Remarks", value=entry_data['Remarks'], max_chars=1000)
    
    if st.button("Submit"):
        data.loc[data['Name'] == selected_entry, ['Name', 'Emp_No', 'mail_id', 'Contact_1','Contact_2','Project','Location','Designation', 'Remarks']] = [Name, Emp_No, mail_id, Contact_1, Contact_2, Project, Location, Designation, Remarks1]
        save_data(data)
        st.success("Data e  ntry updated successfully!")

Main function to control the app

def main():
st.sidebar.title("Navigation")
page3 = st.sidebar.radio("CONTACTS", ["Data Entry", "View Entries", "Edit Entries"], key="key1")

if page3 == "Data Entry":
    data_entry()
elif page3 == "View Entries":
    view_entries()
elif page3 == "Edit Entries":
    edit_entries()

if name == "main":
main()