reececandidate/CsvCombiner
0
1import streamlit as st2import pandas as pd3from datetime import datetime4 5st.title("CSV Combiner")6 7zoomInfoFile1 = st.file_uploader("ZoomInfo1 CSV")8zoomInfoFile2 = st.file_uploader("ZoomInfo2 CSV")9scrapedFile = st.file_uploader("Scraped CSV")10 11if zoomInfoFile1 is not None and scrapedFile is not None:12 if zoomInfoFile2 is not None:13 zoomInfo1 = pd.read_csv(zoomInfoFile1)14 zoomInfo2 = pd.read_csv(zoomInfoFile2)15 zoomInfo = zoomInfo1.append(zoomInfo2)16 else:17 zoomInfo = pd.read_csv(zoomInfoFile1)18 19 scrapedData = pd.read_csv(scrapedFile, engine='python')20 scrapedData["Website"] = scrapedData["companyWebsite"].apply(21 lambda x: x.replace("www.", "")22 .replace("https://", "")23 .replace("http://", "")24 .split("/")[0]25 )26 scrapedData.drop(columns="companyWebsite", inplace=True)27 zoomInfo["Website"] = zoomInfo["Website"].apply(28 lambda x: x.replace("www.", "").replace("https://", "").replace("http://", "")29 )30 scrapedDataSmall = scrapedData[["companyName", "jobName", "Website"]]31 zoomInfoSmall = zoomInfo[32 [33 "Last Name",34 "First Name",35 "Job Title",36 "Website",37 "Email Address",38 "LinkedIn Contact Profile URL",39 ]40 ].copy()41 zoomInfoSmall.rename(columns={"Job Title": "title"}, inplace=True)42 returnMe = pd.merge(scrapedDataSmall, zoomInfoSmall, how="inner", on="Website")43 st.write(44 returnMe,45 )46 st.download_button(47 "Download CSV",48 returnMe.to_csv().encode("utf-8"),49 f"{datetime.today().date()} Leads.csv",50 "text/csv",51 )52 