Here’s the entire code. Copy-paste into a new file and run it. Modify it further as necessary
.
Cheers 
import streamlit as st
import pandas as pd
if "df" not in st.session_state:
st.session_state.df = pd.DataFrame(columns=["Sepal Length",
"Sepal Width",
"Petal Length",
"Petal Width",
"Variety"])
st.subheader("Add Record")
num_new_rows = st.sidebar.number_input("Add Rows",1,50)
ncol = st.session_state.df.shape[1] # col count
rw = -1
with st.form(key="add form", clear_on_submit= True):
cols = st.columns(ncol)
rwdta = []
for i in range(ncol):
rwdta.append(cols[i].text_input(st.session_state.df.columns[i]))
# you can insert code for a list comprehension here to change the data (rwdta)
# values into integer / float, if required
if st.form_submit_button("Add"):
if st.session_state.df.shape[0] == num_new_rows:
st.error("Add row limit reached. Cant add any more records..")
else:
rw = st.session_state.df.shape[0] + 1
st.info(f"Row: {rw} / {num_new_rows} added")
st.session_state.df.loc[rw] = rwdta
if st.session_state.df.shape[0] == num_new_rows:
st.error("Add row limit reached...")
st.dataframe(st.session_state.df)