import streamlit as st
import pandas as pd
import pickle
import matplotlib.pyplot as plt
import numpy as np
import altair as alt
import plotly.graph_objects as go
import plotly.express as px
import statistics as stat
from streamlit_echarts import st_echarts
from streamlit_pandas_profiling import st_profile_report
from st_aggrid import AgGrid
# import pandas_profiling
from streamlit_vega_lite import vega_lite_component, altair_component
from statistics import mean
from datetime import datetime
import copy
st.set_page_config(
page_title="Real Time Social Medias Analysis",
page_icon="🧊",
layout="wide",
initial_sidebar_state="expanded",
menu_items={
'Get Help':None,
'Report a bug': None,
'About': "# This app gather social medias posts of 31 companies all around the world and then analysing it."
}
)
############ functions needed inside st
def make_clickable(link):
if link!="":
if "=" in link:
text = link.split('=')[0]
linki=link.split('=')[1]
return f'{text}'
else:
return link
else:
return ""
def check_password():
"""Returns `True` if the user had the correct password."""
def password_entered():
"""Checks whether a password entered by the user is correct."""
if st.session_state["password"] == "etka":
st.session_state["password_correct"] = True
del st.session_state["password"] # don't store password
else:
st.session_state["password_correct"] = False
if "password_correct" not in st.session_state:
# First run, show input for password.
st.text_input(
"Password", type="password", on_change=password_entered, key="password"
)
return False
elif not st.session_state["password_correct"]:
# Password not correct, show input + error.
st.text_input(
"Password", type="password", on_change=password_entered, key="password"
)
st.error("😕 Password incorrect")
return False
else:
# Password correct.
return True
jkl=False
if check_password():
jkl=True
national_company_name_fa=['افق کوروش', 'جانبو', 'رفاه', 'فروشگاه هفت', 'هایپر استار', 'هایپر می', 'توی توی', 'شهروند', 'یاس', 'سورنا', 'وین مارکت', 'کیوان', 'فروشگاه سروش', 'سبوس', 'دیجی کالا', 'اکالا', 'ایمالز', 'اسنپ مارکت', 'فروشگاه کاله']
international_company_name_fa=['والمارت', 'کروگر', 'کاستکو', 'بیم مارکت', 'میگروس', 'ساوکو', 'لولو هاپر مارکت', 'گروه یونیون', 'ادکا', 'آلدی', 'کارفور', 'بیلا راشا']
company_name1_fa=national_company_name_fa+international_company_name_fa
insta_accounts=['okcs.ir','canbo.ir','myrefah','haftstores','hyperstar_ir','hyperme.chainstores','toytoy.ir','shahrvand','yassgroup.official','surena.cs','winmarketco','k1megastore','soroush.chain.store','saboosgroup','digikalacom','okalaclub','emalls_site','snappmarket','kallehbrand','walmart','krogerco','costco','bimturkiye','migros_tr','saveco','luluhypermarkets','union.coop','edeka','aldiusa','carrefour_iraq','billarussia']
company_name=['Ofogh Kouroush','Canbo','Refah','Haft Stores','Hyperstar','Hyper Me','Toy Toy','Shahrvand','Yaas','Surena','Win Market','K 1','Soroush Chain Store','Saboos Group','DigiKala','Okala','Emalls','Snapp Market','Kalleh Store','Walmart','Kroger','Costco','Bim','Migros','Save','LuLu Hypermarkets','Union','Edeka','Aldi','Carrefour','Billa Russia']
company_name1=['Ofogh Kouroush','Canbo','Refah','Haft Stores','Hyperstar','Hyper Me','Toy Toy','Shahrvand','Yaas','Surena','Win Market','K 1','Soroush Chain Store','Saboos Group','DigiKala','Okala','Emalls','Snapp Market','Kalleh Store','Walmart','Kroger','Costco','Bim','Migros','Save','LuLu Hypermarkets','Union','Edeka','Aldi','Carrefour','Billa Russia']
company_name2=['Ofogh_Kouroush','Canbo','Refah','Haft_Stores','Hyperstar','Hyper_Me','Toy_Toy','Shahrvand','Yaas','Surena','Win_Market','K_1','Soroush_Chain_Store','Saboos_Group','DigiKala','Okala','Emalls','Snapp_Market','Kalleh_Store','Walmart','Kroger','Costco','Bim','Migros','Save','LuLu_Hypermarkets','Union','Edeka','Aldi','Carrefour','Billa_Russia']
national_insta_accounts = ['okcs.ir', 'canbo.ir', 'myrefah', 'haftstores', 'hyperstar_ir', 'hyperme.chainstores', 'toytoy.ir', 'shahrvand', 'yassgroup.official', 'surena.cs', 'winmarketco', 'k1megastore', 'soroush.chain.store', 'saboosgroup', 'digikalacom', 'okalaclub', 'emalls_site', 'snappmarket', 'kallehbrand']
international_insta_accounts = ['walmart', 'krogerco', 'costco', 'bimturkiye', 'migros_tr', 'saveco', 'luluhypermarkets', 'union.coop', 'edeka', 'aldiusa', 'carrefour_iraq', 'billarussia']
national_company_name = ['Ofogh Kouroush', 'Canbo', 'Refah', 'Haft Stores', 'Hyperstar', 'Hyper Me', 'Toy Toy', 'Shahrvand', 'Yaas', 'Surena', 'Win Market', 'K 1', 'Soroush Chain Store', 'Saboos Group', 'DigiKala', 'Okala', 'Emalls', 'Snapp Market', 'Kalleh Store']
international_company_name = ['Walmart', 'Kroger', 'Costco', 'Bim', 'Migros', 'Save', 'LuLu Hypermarkets', 'Union', 'Edeka', 'Aldi', 'Carrefour', 'Billa Russia']
national_company_name2 = ['Ofogh_Kouroush', 'Canbo', 'Refah', 'Haft_Stores', 'Hyperstar', 'Hyper_Me', 'Toy_Toy', 'Shahrvand', 'Yaas', 'Surena', 'Win_Market', 'K_1', 'Soroush_Chain_Store', 'Saboos_Group', 'DigiKala', 'Okala', 'Emalls', 'Snapp_Market', 'Kalleh_Store']
international_company_name2 = ['Walmart', 'Kroger', 'Costco', 'Bim', 'Migros', 'Save', 'LuLu_Hypermarkets', 'Union', 'Edeka', 'Aldi', 'Carrefour', 'Billa_Russia']
ide = [3145372723, 2965548667, 1988671655, 2197031285, 2233092127, 7485093484, 1181917352, 547966386, 2104826426, 7706142910, 7621001555, 4517720528, 1682386117, 1734407253, 1434739621, 6223711957, 1688949901, 7625600229, 536309671, 391362994, 1372092025, 1286044267, 6428046303, 324691922, 193450010, 1109269555, 1969219287, 1501689572, 525355730, 1494499024, 3646541728]
ide_national = [3145372723, 2965548667, 1988671655, 2197031285, 2233092127, 7485093484, 1181917352, 547966386, 2104826426, 7706142910, 7621001555, 4517720528, 1682386117, 1734407253, 1434739621, 6223711957, 1688949901, 7625600229, 536309671]
ide_international =[391362994, 1372092025, 1286044267, 6428046303, 324691922, 193450010, 1109269555, 1969219287, 1501689572, 525355730, 1494499024, 3646541728]
Website=['https://www.okcs.com','http://canbo.ir','http://refah.ir','http://www.7haftstores.com/Pages/index.aspx','https://www.hyperstariran.com','https://www.hyperme.ir','https://link.toytoy.ir/','https://www.shahrvand.ir','https://www.yassgroup.ir','https://surenacs.com','http://winmarketco.com','https://k1stores.com/?page_id=116','https://supersoroush.com','https://saboosgroup.ir','https://www.digikala.com','https://okala.com','https://emalls.ir','https://snapp.market','https://gilan.kalleh.com','https://www.walmart.com','https://www.kroger.com','https://www.costco.ca','https://www.bim.com.tr/Categories/104/magazalar.aspx','https://www.migros.com.tr','https://www.saveco.com','https://www.luluhypermarket.com/en-ae/','https://corporate.unioncoop.ae/en/online-shopping/','https://www.edeka.de','https://www.aldi.us','https://www.carrefouriraq.com','https://www.billa.ru']
Instag=['https://www.instagram.com/okcs.ir/','https://www.instagram.com/canbo.ir/','https://www.instagram.com/myrefah/','https://www.instagram.com/haftstores/','https://www.instagram.com/hyperstar_ir/','https://www.instagram.com/hyperme.chainstores/','https://www.instagram.com/khaneh_kashaneh/','https://www.instagram.com/shahrvandeshop/','https://www.instagram.com/yassgroup.official/','https://www.instagram.com/surena.cs/','https://www.instagram.com/winmarketco/','https://www.instagram.com/k1megastore/','https://www.instagram.com/soroush.chain.store','https://www.instagram.com/saboosgroup/?hl=en','https://www.instagram.com/digikalacom/','https://www.instagram.com/okalaclub/','https://www.instagram.com/emalls_site/','https://www.instagram.com/snappmarket/','https://www.instagram.com/kallehbrand/','https://www.instagram.com/walmart/','https://www.instagram.com/krogerco/?hl=en','https://www.instagram.com/costco/?hl=en','https://www.instagram.com/bimturkiye/?hl=tr','https://www.instagram.com/migrossanalmarket/','https://www.instagram.com/saveco/','https://www.instagram.com/luluhypermarkets/','https://www.instagram.com/union.coop/','https://www.instagram.com/edeka/','https://www.instagram.com/aldiusa/','https://www.instagram.com/carrefour_iraq/','https://www.instagram.com/billarussia/']
facebo=['https://www.facebook.com/ofoghkooroshstores','','','','','','','','','','https://www.facebook.com/winmarketco','https://www.facebook.com/profile.php?id=100030590948072','','','','','','','','https://www.facebook.com/walmart','https://www.facebook.com/Kroger/','https://www.facebook.com/CostcoCanada','https://www.facebook.com/bimturkiye','https://www.facebook.com/MSanalMarket','https://www.facebook.com/Savecoq8/','https://www.facebook.com/LuLuHypermarket/?brand_redir=1665762276970506','https://www.facebook.com/union.cooperative/','https://www.facebook.com/EDEKA','https://www.facebook.com/ALDI.USA','https://www.facebook.com/Carrefour.Iraq/','https://www.facebook.com/billa.ru']
twitt=['https://twitter.com/ofoghkoorosh','','','','','','','','','','https://twitter.com/winmarketco1/','https://twitter.com/K1Megastore','','','https://twitter.com/digikalacom','','','','','https://twitter.com/Walmart','https://twitter.com/Kroger','','','https://twitter.com/MSanalMarket','https://twitter.com/savecoQ8','https://twitter.com/luluhypr','https://twitter.com/UnionCoop','https://twitter.com/AldiUSA','','','']
youtu=['','','','','','','','','','','','','','','','','','','','https://www.youtube.com/user/Walmart','https://www.youtube.com/user/kroger','','https://www.youtube.com/channel/UClAHcndi08TXV0U3osnhQAQ/featured','https://www.youtube.com/user/migrossanalmarket/','https://www.youtube.com/channel/UCfEyO6rTOeca5SUeB3Wuw2Q','https://www.youtube.com/user/luluhypermarkets','https://www.youtube.com/user/unioncoop','https://www.youtube.com/user/aldiusa?feature=watch','https://www.youtube.com/user/aldiusa?feature=watch','https://www.youtube.com/user/CarrefourIraq/videos','https://www.youtube.com/channel/UCSx84zsrpnikJX2PDnOYbMA?sub_confirmation=1']
pintres=['','','','','','','','','','','','','','','','','','','','https://www.pinterest.de/walmart/','https://www.pinterest.com/krogerco/','','','','','','https://www.pinterest.de/edeka/','https://www.pinterest.de/aldiusa/','','','']
Linkdi=['https://www.linkedin.com/checkpoint/challengesV2/AQHGa5p3pWbEFgAAAXLmpWYtwLd1QPiyxE9LOCOU9YHEaZPoxyjNMuqSC2L4KiNIl-X079FNwycCwiZrh5wcGQYo-ansLaV8zg','https://www.linkedin.com/company/everest-modern-pars-chain-stores','','https://www.linkedin.com/company/oshanak-chain-stores-company-human-resources-department-','','','','','','','https://www.linkedin.com/company/winmarketco/','','','','https://www.linkedin.com/company/digikala/','','','','','','','','','','https://www.linkedin.com/authwall?trk=ripf&trkInfo=AQETU2kUtBRQNQAAAXLm9bl4bQDBlvDIfUZxUa_dLtjv3tqtxQfJEqEOxPkGITmOwZEh0VBky4JTEPPI2K-JLjqlevFNqsv1NweE9feyVANdc3JGzGQkZ2kSVeBnXF8wsBf4gFc=&originalReferer=&sessionRedirect=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Fsaveco','','https://www.linkedin.com/authwall?trk=ripf&trkInfo=AQHx-TF6N6AmVQAAAXLm-34II5OTK0P5oy4dX42TB2T2yQSTNcgCIa4u3B00JR2NJtdKGbQq4MTAX6o-vlhxIN8kUcHA8ICQPIA2g5qGTmqNTwypN3CIhy6Gm-XG5xi-1HkJQVU=&originalReferer=&sessionRedirect=https%3A%2F%2Fae.linkedin.com%2Fin%2Funioncoop','','','','']
Telegra=['https://t.me/okclub','https://telegram.me/canbo','http://telegram.me/myrefah','https://telegram.me/HAFTSTORESS','','https://telegram.me/hyperme_ir','https://t.me/hyperfamili','','','','http://telegram.me/winmarketco','https://t.me/k1megastore','','https://t.me/saboosgroup','','https://t.me/okala_club1/','','','','','','','','','','','','','','','']
Whatsap=['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','']
Soru=['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','']
Bale=['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','']
igap=['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','']
aparat=['https://www.aparat.com/okclub','','','','https://www.aparat.com/Hyperstariran','','','https://www.aparat.com/shahrvand.ir','','https://www.aparat.com/surenacs','https://www.aparat.com/winmarketco','https://www.aparat.com/k1megastore','','','https://www.aparat.com/digikala/دیجی_کالا','https://www.aparat.com/okala/','','','','','','','','','','','','','','','']
robica=['','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','']
kindii=["Takhfif","Jashn","Mosabeghe","Mahsol"]
kindii_fa=["تخفیف","جشنواره","مسابقه","ارتقای محصول"]
########## load the dataset
data=pickle.load(open("data/data.pkl","rb"))
######## make sheet 1
company=national_company_name_fa+["کل","٪ شرکت ها","میانگین حساب کاربری هر شرکت"]
instagram=["*" for i in range(19)]+["19","100",""]
facebook=["*" if i==0 or i==10 or i==11 else "" for i in range(19)]+["3","15.79",""]
twitter=["*" if i==0 or i==10 or i==11 or i==14 else "" for i in range(19)]+["4","21.05",""]
linkedin=["*" if i==0 or i==10 or i==1 or i==14 or i==3 else "" for i in range(19)]+["5","26.32",""]
telegram=["*" if i<=3 or i==5 or i==6 or i==10 or i==11 or i==13 or i==15 else "" for i in range(19)]+["10","52.63",""]
Aparat=["*" if i==0 or i==4 or i==7 or i==10 or i==9 or i==10 or i==15 or i==14 else "" for i in range(19)]+["8","42.11",""]
sorosh=["" for i in range(19)]+["0","0",""]
bale=["" for i in range(19)]+["0","0",""]
igap=["" for i in range(19)]+["0","0",""]
robica=["" for i in range(19)]+["0","0",""]
total=['6', '3', '2', '3', '2', '2', '2', '2', '1', '2', '6', '5', '1', '2', '4', '3', '1', '1', '1', '49', '', '']
website_national=[f"*={Website[i]}" if Website[i]!="" else "" for i in range(19)]+["19","100","2.58"]
insta_national=[f"*={Instag[i]}" if Instag[i]!="" else "" for i in range(19)]+["19","100",""]
facebook_national=[f"*={facebo[i]}" if facebo[i]!="" else "" for i in range(19)]+["3","15.79",""]
twitter_national=[f"*={twitt[i]}" if twitt[i]!="" else "" for i in range(19)]+["4","21.05",""]
linkedin_natioanl=[f"*={Linkdi[i]}" if Linkdi[i]!="" else "" for i in range(19)]+["5","26.32",""]
aparat_national=[f"*={aparat[i]}" if aparat[i]!="" else "" for i in range(19)]+["8","42.11",""]
telegram_national=[f"*={Telegra[i]}" if Telegra[i]!="" else "" for i in range(19)]+["10","52.63",""]
sheet1=pd.DataFrame(data={"شرکت ها":company ,"وب سایت":website_national,"اینستاگرام":insta_national,"فیسبوک":facebook_national,
"توییتر":twitter_national,"لینکدین":linkedin_natioanl,"تلگرام":telegram_national,
"آپارات":aparat_national,"کل":total
})
for j in ["وب سایت","اینستاگرام","فیسبوک","توییتر","لینکدین","تلگرام","آپارات"]:
sheet1[j]=sheet1[j].apply(make_clickable)
sheet1=sheet1.to_html(escape=False)
del company,instagram,facebook,twitter,linkedin,telegram,Aparat,sorosh,bale,igap,robica,total,website_national,insta_national,facebook_national,twitter_national,linkedin_natioanl,aparat_national,telegram_national
sheet7_0data=[6,3,2,3,2,2,2,2,1,2,6,5,1,2,4,3,1,1,1]
dfsheet0= pd.DataFrame(data={"Companies":national_company_name_fa,"The Number of Accounts":sheet7_0data})
company=international_company_name_fa+["کل","٪ شرکتها","میانگین حساب کاربری هر شرکت"]
instagram=["*" for i in range(12)]+["12","100","2.53"]
facebook=["*" for i in range(12)]+["12","100",""]
pintrest=["*" if i<=1 or i==7 or i==8 else "" for i in range(12)]+["4","33.33",""]
twitter=["*" if i<=1 or (i>=4 and i<=8) else "" for i in range(12)]+["7","58.33",""]
youtube=["*" if i<=1 or (i>=3 and i<=11) else "" for i in range(12)]+["11","91.67",""]
linkedin=["*" if i==5 or i==7 else "" for i in range(12)]+["2","16.67",""]
whatsapp=["" for i in range(12)]+["0","0",""]
total=['5', '5', '2', '3', '4', '5', '4', '6', '5', '3', '3', '3', '48',"",""]
insta_international=[f"*={Instag[i+19]}" if Instag[i+19]!="" else "" for i in range(12)]+["12","100",""]
website_international=[f"*={Website[i+19]}" if Website[i+19]!="" else "" for i in range(12)]+["12","100","2.53"]
facebook_international=[f"*={facebo[i+19]}" if facebo[i+19]!="" else "" for i in range(12)]+["12","100",""]
twitter_international=[f"*={twitt[i+19]}" if twitt[i+19]!="" else "" for i in range(12)]+["7","58.33",""]
linkedin_internatioanl=[f"*={Linkdi[i+19]}" if Linkdi[i+19]!="" else "" for i in range(12)]+["2","16.67",""]
youtube_international=[f"*={youtu[i+19]}" if youtu[i+19]!="" else "" for i in range(12)]+["11","91.67",""]
pintrest_international=[f"*={pintres[i+19]}" if pintres[i+19]!="" else "" for i in range(12)]+["4","33.33",""]
sheet1_1=pd.DataFrame(data={"شرکت ها":company,"وب سایت":website_international,"اینستاگرام":insta_international,"فیسبوک":facebook_international,"پینترست":pintrest_international,
"توییتر":twitter_international,"یوتیوب":youtube_international,"لینکدین":linkedin_internatioanl,"کل":total
})
for j in ["وب سایت","اینستاگرام","فیسبوک","توییتر","لینکدین","یوتیوب","پینترست"]:
sheet1_1[j]=sheet1_1[j].apply(make_clickable)
sheet1_1=sheet1_1.to_html(escape=False)
del company,instagram,facebook,pintres,twitter,youtube,linkedin,whatsapp,total,insta_international,website_international,facebook_international,twitter_international,linkedin_internatioanl,youtube_international,pintrest_international
sheet7_0data=[5,5,2,3,4,5,4,6,5,3,3,3]
dfsheet0_1 = pd.DataFrame(data={"Companies":international_company_name_fa,"The Number of Accounts":sheet7_0data})
source0_1 = pd.DataFrame({"Popularities": [12,12,4,7,11,2,0],"Social Medias":['Instagram','FaceBook','Pintrest','Twitter','Youtube','LinkedIn','WhatsApp']})
###### make sheet2 dataframe
followers=[]
following=[]
posts=[]
for i in national_company_name2:
followers.append(data["information"][i]["bio"]["followers"])
following.append(data["information"][i]["bio"]["following"])
posts.append(data["information"][i]["bio"]["posts_count"])
sheet2=pd.DataFrame(data={"شرکت ها":national_company_name_fa,"تعداد دنبال کنندگان":followers,"تعداد دنبال کرده ها":following,"تعداد پست ها":posts})
sheet2bar=pd.DataFrame(data={"Companies":national_company_name_fa,"Followers":followers})
sheet2barpost=pd.DataFrame(data={"Companies":national_company_name_fa,"Number of posts":posts})
sheet3followers=followers
followers=[]
following=[]
posts=[]
for i in international_company_name2:
followers.append(data["information"][i]["bio"]["followers"])
following.append(data["information"][i]["bio"]["following"])
posts.append(data["information"][i]["bio"]["posts_count"])
sheet2_1=pd.DataFrame(data={"شرکت ها":international_company_name_fa,"تعداد دنبال کنندگان":followers,"تعداد دنبال کرده ها":following,"تعداد پست ها":posts})
sheet2bar_1=pd.DataFrame(data={"Companies":international_company_name_fa,"Followers":followers})
sheet2barpost_1=pd.DataFrame(data={"Companies":international_company_name_fa,"Number of posts":posts})
sheet3_1followers=followers
del followers,following,posts
######### make sheet 3 for national and international companies post analysis
temp=["بیشترین تعداد پسندیده شدن" ,"بیشترین تعداد نظرات","بیشترین تعداد بازدی","میانگین تعداد پسندیده شدن","میانگین تعداد نظرات","میانگین تعداد بازدید","میانگین مشارکت","٪ تصاویر","٪ ویدیو ها","میانگین روزانه تعداد پست","میانگین ساعتی تعداد پست ها"]
temp2=["max_like","max_comment","max_view","ave_like","ave_comment","ave_view","ave_participation","percent_image","percent_video","ave_post_per_day","ave_post_per_hour"]
company=[]
time_horizon=[]
last_month=[]
last_three_months=[]
overal=[]
tir2=[last_month,last_three_months,overal]
sheet3like=[[] for i in range(3)]
sheet3comment=[[] for i in range(3)]
sheet3view=[[] for i in range(3)]
sheet3participation=[[] for i in range(3)]
sheet3image=[[] for i in range(3)]
sheet3postperday=[[] for i in range(3)]
tir=["last_month","last_three_months","overal"]
for i in national_company_name2:
index=national_company_name2.index(i)
for j in temp:
if temp.index(j)==0:
company.append(national_company_name_fa[index])
else :
company.append("")
time_horizon.append(j)
for j in tir:
index=tir.index(j)
for t in temp2:
if temp2.index(t)==7 or temp2.index(t)==8:
tir2[index].append("{:.0f}".format(data["information"][i]["analysis"]["participation"][j][t]*100)+" %")
if temp2.index(t)==7 :
sheet3image[index].append(data["information"][i]["analysis"]["participation"][j][t])
elif temp2.index(t)==9 or temp2.index(t)==10:
tir2[index].append("{:.2f}".format(data["information"][i]["analysis"]["participation"][j][t]))
if temp2.index(t)==9 :
sheet3postperday[index].append(data["information"][i]["analysis"]["participation"][j][t])
else:
tir2[index].append("{:.0f}".format(data["information"][i]["analysis"]["participation"][j][t]))
if t=="ave_like":
sheet3like[index].append(data["information"][i]["analysis"]["participation"][j][t])
elif t=="ave_comment":
sheet3comment[index].append(data["information"][i]["analysis"]["participation"][j][t])
elif t=="ave_view":
sheet3view[index].append(data["information"][i]["analysis"]["participation"][j][t])
elif t=="ave_participation":
sheet3participation[index].append(data["information"][i]["analysis"]["participation"][j][t])
sheet3=pd.DataFrame(data={"شرکت ها":company,"افق زمانی":time_horizon,"یک ماه اخیر":tir2[0],"سه ماه اخیر":tir2[1],"کل":tir2[2]})
del company,time_horizon,tir2,last_month,last_three_months,overal
temp=["بیشترین تعداد پسندیده شدن" ,"بیشترین تعداد نظرات","بیشترین تعداد بازدی","میانگین تعداد پسندیده شدن","میانگین تعداد نظرات","میانگین تعداد بازدید","میانگین مشارکت","٪ تصاویر","٪ ویدیو ها","میانگین روزانه تعداد پست","میانگین ساعتی تعداد پست ها"]
temp2=["max_like","max_comment","max_view","ave_like","ave_comment","ave_view","ave_participation","percent_image","percent_video","ave_post_per_day","ave_post_per_hour"]
company=[]
time_horizon=[]
last_month=[]
last_three_months=[]
overal=[]
tir2=[last_month,last_three_months,overal]
sheet3like_1=[[] for i in range(3)]
sheet3comment_1=[[] for i in range(3)]
sheet3view_1=[[] for i in range(3)]
sheet3participation_1=[[] for i in range(3)]
sheet3image_1=[[] for i in range(3)]
sheet3postperday_1=[[] for i in range(3)]
tir=["last_month","last_three_months","overal"]
for i in international_company_name2:
index=international_company_name2.index(i)
for j in temp:
if temp.index(j)==0:
company.append(international_company_name_fa[index])
else :
company.append("")
time_horizon.append(j)
for j in tir:
index=tir.index(j)
for t in temp2:
if temp2.index(t)==7 or temp2.index(t)==8:
tir2[index].append("{:.0f}".format(data["information"][i]["analysis"]["participation"][j][t]*100)+" %")
if temp2.index(t)==7 :
sheet3image_1[index].append(data["information"][i]["analysis"]["participation"][j][t])
elif temp2.index(t)==9 or temp2.index(t)==10:
tir2[index].append("{:.2f}".format(data["information"][i]["analysis"]["participation"][j][t]))
if temp2.index(t)==9 :
sheet3postperday_1[index].append(data["information"][i]["analysis"]["participation"][j][t])
else:
tir2[index].append("{:.0f}".format(data["information"][i]["analysis"]["participation"][j][t]))
if t=="ave_like":
sheet3like_1[index].append(data["information"][i]["analysis"]["participation"][j][t])
elif t=="ave_comment":
sheet3comment_1[index].append(data["information"][i]["analysis"]["participation"][j][t])
elif t=="ave_view":
sheet3view_1[index].append(data["information"][i]["analysis"]["participation"][j][t])
elif t=="ave_participation":
sheet3participation_1[index].append(data["information"][i]["analysis"]["participation"][j][t])
sheet3_1=pd.DataFrame(data={"شرکت ها":company,"افق زمانی":time_horizon,"یک ماه اخیر":tir2[0],"سه ماه اخیر":tir2[1],"کل":tir2[2]})
del tir2,company
#################### sheet 4 hashtag
company=[]
temp=["میانگین تعداد # ها در هر پست","بیشترین تعداد # در یک پست","کم ترین تعداد # در یک پست","محبوب ترین # های استفاده شده"]
time_horizon=[]
tom=[[],[],[]]
hori=["last_month","last_three_months","overal"]
avermax=[[[],[],[]],[[],[],[]]]
kori=["averge_per_post","max_number","min_number","most_common"]
for i in national_company_name2:
for t in temp:
if temp.index(t)==0:
company.append(national_company_name_fa[national_company_name2.index(i)])
else:
company.append("")
time_horizon.append(t)
for j in range(3):
for c in kori:
if c=="most_common":
if len(data["information"][i]["analysis"]["hashtag"][hori[j]]["all_posts_type"][c]) !=0 :
h=""
for g in range(len(data["information"][i]["analysis"]["hashtag"][hori[j]]["all_posts_type"][c])):
if g!=len(data["information"][i]["analysis"]["hashtag"][hori[j]]["all_posts_type"][c])-1:
h+=data["information"][i]["analysis"]["hashtag"][hori[j]]["all_posts_type"][c][g][0]+" - "
else:
h+=data["information"][i]["analysis"]["hashtag"][hori[j]]["all_posts_type"][c][g][0]
tom[j].append(h)
else:
tom[j].append("")
else:
tom[j].append("{:.2f}".format(data["information"][i]["analysis"]["hashtag"][hori[j]]["all_posts_type"][c]))
if c=="averge_per_post":
avermax[0][j].append(data["information"][i]["analysis"]["hashtag"][hori[j]]["all_posts_type"][c])
elif c=="max_number":
avermax[1][j].append(data["information"][i]["analysis"]["hashtag"][hori[j]]["all_posts_type"][c])
sheet4=pd.DataFrame(data={"شرکتها":company,"افق زمانی":time_horizon,"یک ماه اخیر":tom[0],"سه ماه اخیر":tom[1],"کل":tom[2]})
capdia40=[]
for i in range(2):
capdia40.append(pd.DataFrame(
{
"Company":national_company_name_fa,
"Last Month":avermax[i][0],
"Last Three Months":avermax[i][1],
"Overal":avermax[i][2]},
columns=['Company', 'Last Month', 'Last Three Months','Overal']
))
del h,j,c,t,i,kori,tom,time_horizon,temp,company,avermax
company=[]
temp=["میانگین تعداد # ها در هر پست","بیشترین تعداد # در یک پست","کم ترین تعداد # در یک پست","محبوب ترین # های استفاده شده"]
time_horizon=[]
tom=[[],[],[]]
hori=["last_month","last_three_months","overal"]
avermax=[[[],[],[]],[[],[],[]]]
kori=["averge_per_post","max_number","min_number","most_common"]
for i in international_company_name2:
for t in temp:
if temp.index(t)==0:
company.append(international_company_name_fa[international_company_name2.index(i)])
else:
company.append("")
time_horizon.append(t)
for j in range(3):
for c in kori:
if c=="most_common":
if len(data["information"][i]["analysis"]["hashtag"][hori[j]]["all_posts_type"][c]) !=0 :
h=""
for g in range(len(data["information"][i]["analysis"]["hashtag"][hori[j]]["all_posts_type"][c])):
if g!= len(data["information"][i]["analysis"]["hashtag"][hori[j]]["all_posts_type"][c])-1:
h+=data["information"][i]["analysis"]["hashtag"][hori[j]]["all_posts_type"][c][g][0]+" - "
else:
h+=data["information"][i]["analysis"]["hashtag"][hori[j]]["all_posts_type"][c][g][0]
tom[j].append(h)
else:
tom[j].append("")
else:
tom[j].append("{:.2f}".format(data["information"][i]["analysis"]["hashtag"][hori[j]]["all_posts_type"][c]))
if c=="averge_per_post":
avermax[0][j].append(data["information"][i]["analysis"]["hashtag"][hori[j]]["all_posts_type"][c])
elif c=="max_number":
avermax[1][j].append(data["information"][i]["analysis"]["hashtag"][hori[j]]["all_posts_type"][c])
sheet4_1=pd.DataFrame(data={"شرکتها":company,"افق زمانی":time_horizon,"یک ماه اخیر":tom[0],"سه ماه اخیر":tom[1],"کل":tom[2]})
capdia4=[]
for i in range(2):
capdia4.append(pd.DataFrame(
{
"Company":international_company_name_fa,
"Last Month":avermax[i][0],
"Last Three Months":avermax[i][1],
"Overal":avermax[i][2]},
columns=['Company', 'Last Month', 'Last Three Months','Overal']
))
del h,j,c,t,i,kori,tom,time_horizon,temp,company,avermax
############ sheet5 emoji
company=[]
temp=["میانگین تعداد اموجیها در هر پست","بیشترین تعداد اموجیها در یک پست","کم ترین تعداد اموجیها در یک پست","محبوب ترین اموجیهای استفاده شده"]
time_horizon=[]
tom=[[],[],[]]
hori=["last_month","last_three_months","overal"]
avermax=[[[],[],[]],[[],[],[]]]
kori=["averge_per_post","max_number","min_number","most_common"]
for i in national_company_name2:
for t in temp:
if temp.index(t)==0:
company.append(national_company_name_fa[national_company_name2.index(i)])
else:
company.append("")
time_horizon.append(t)
for j in range(3):
for c in kori:
if c=="most_common":
if len(data["information"][i]["analysis"]["emoji"][hori[j]]["all_posts_type"][c]) !=0 :
h=""
for g in range(len(data["information"][i]["analysis"]["emoji"][hori[j]]["all_posts_type"][c])):
h+=data["information"][i]["analysis"]["emoji"][hori[j]]["all_posts_type"][c][g][0]
tom[j].append(h)
else:
tom[j].append("")
else:
tom[j].append("{:.2f}".format(data["information"][i]["analysis"]["emoji"][hori[j]]["all_posts_type"][c]))
if c=="averge_per_post":
avermax[0][j].append(data["information"][i]["analysis"]["emoji"][hori[j]]["all_posts_type"][c])
elif c=="max_number":
avermax[1][j].append(data["information"][i]["analysis"]["emoji"][hori[j]]["all_posts_type"][c])
sheet5=pd.DataFrame(data={"شرکتها":company,"افق زمانی":time_horizon,"یک ماه اخیر":tom[0],"سه ماه اخیر":tom[1],"کل":tom[2]})
capdia50=[]
for i in range(2):
capdia50.append(pd.DataFrame(
{
"Company":national_company_name_fa,
"Last Month":avermax[i][0],
"Last Three Months":avermax[i][1],
"Overal":avermax[i][2]},
columns=['Company', 'Last Month', 'Last Three Months','Overal']
))
del h,j,c,t,i,kori,tom,time_horizon,temp,company,avermax
company=[]
temp=["میانگین تعداد اموجیها در هر پست","بیشترین تعداد اموجیها در یک پست","کم ترین تعداد اموجیها در یک پست","محبوب ترین اموجیهای استفاده شده"]
time_horizon=[]
tom=[[],[],[]]
hori=["last_month","last_three_months","overal"]
avermax=[[[],[],[]],[[],[],[]]]
kori=["averge_per_post","max_number","min_number","most_common"]
for i in international_company_name2:
for t in temp:
if temp.index(t)==0:
company.append(international_company_name_fa[international_company_name2.index(i)])
else:
company.append("")
time_horizon.append(t)
for j in range(3):
for c in kori:
if c=="most_common":
if len(data["information"][i]["analysis"]["emoji"][hori[j]]["all_posts_type"][c]) !=0 :
h=""
for g in range(len(data["information"][i]["analysis"]["emoji"][hori[j]]["all_posts_type"][c])):
h+=data["information"][i]["analysis"]["emoji"][hori[j]]["all_posts_type"][c][g][0]
tom[j].append(h)
else:
tom[j].append("")
else:
tom[j].append("{:.2f}".format(data["information"][i]["analysis"]["emoji"][hori[j]]["all_posts_type"][c]))
if c=="averge_per_post":
avermax[0][j].append(data["information"][i]["analysis"]["emoji"][hori[j]]["all_posts_type"][c])
elif c=="max_number":
avermax[1][j].append(data["information"][i]["analysis"]["emoji"][hori[j]]["all_posts_type"][c])
sheet5_1=pd.DataFrame(data={"شرکتها":company,"افق زمانی":time_horizon,"یک ماه اخیر":tom[0],"سه ماه اخیر":tom[1],"کل":tom[2]})
capdia5=[]
for i in range(2):
capdia5.append(pd.DataFrame(
{
"Company":international_company_name_fa,
"Last Month":avermax[i][0],
"Last Three Months":avermax[i][1],
"Overal":avermax[i][2]},
columns=['Company', 'Last Month', 'Last Three Months','Overal']
))
del h,j,c,t,i,kori,tom,time_horizon,temp,company,avermax
######### sheet 6 common words
company=[]
temp=["میانگین تعداد لغات در هر پست","بیشترین تعداد لغات در یک پست","کم ترین تعداد لغات در یک پست","محبوب ترین لغات استفاده شده"]
time_horizon=[]
tom=[[],[],[]]
hori=["last_month","last_three_months","overal"]
avermax=[[[],[],[]],[[],[],[]]]
kori=["averge_per_post","max_number","min_number","most_common"]
for i in national_company_name2:
for t in temp:
if temp.index(t)==0:
company.append(national_company_name_fa[national_company_name2.index(i)])
else:
company.append("")
time_horizon.append(t)
for j in range(3):
for c in kori:
if c=="most_common":
if len(data["information"][i]["analysis"]["caption"][hori[j]]["all_posts_type"][c]) !=0 :
h=""
for g in range(len(data["information"][i]["analysis"]["caption"][hori[j]]["all_posts_type"][c])):
if g!=len(data["information"][i]["analysis"]["caption"][hori[j]]["all_posts_type"][c])-1:
h=h+data["information"][i]["analysis"]["caption"][hori[j]]["all_posts_type"][c][g][0]+"، "
else:
h+=data["information"][i]["analysis"]["caption"][hori[j]]["all_posts_type"][c][g][0]
tom[j].append(h)
else:
tom[j].append("")
else:
tom[j].append("{:.2f}".format(data["information"][i]["analysis"]["caption"][hori[j]]["all_posts_type"][c]))
if c=="averge_per_post":
avermax[0][j].append(data["information"][i]["analysis"]["caption"][hori[j]]["all_posts_type"][c])
elif c=="max_number":
avermax[1][j].append(data["information"][i]["analysis"]["caption"][hori[j]]["all_posts_type"][c])
sheet6=pd.DataFrame(data={"شرکتها":company,"افق زمانی":time_horizon,"یک ماه اخیر":tom[0],"سه ماه اخیر":tom[1],"کل":tom[2]})
capdia0=[]
for i in range(2):
capdia0.append(pd.DataFrame(
{
"Company":national_company_name_fa,
"Last Month":avermax[i][0],
"Last Three Months":avermax[i][1],
"Overal":avermax[i][2]},
columns=['Company', 'Last Month', 'Last Three Months','Overal']
))
del h,j,c,t,i,kori,tom,time_horizon,temp,company,avermax
company=[]
temp=["میانگین تعداد لغات در هر پست","بیشترین تعداد لغات در یک پست","کم ترین تعداد لغات در یک پست","محبوب ترین لغات استفاده شده"]
time_horizon=[]
tom=[[],[],[]]
hori=["last_month","last_three_months","overal"]
avermax=[[[],[],[]],[[],[],[]]]
kori=["averge_per_post","max_number","min_number","most_common"]
for i in international_company_name2:
for t in temp:
if temp.index(t)==0:
company.append(international_company_name_fa[international_company_name2.index(i)])
else:
company.append("")
time_horizon.append(t)
for j in range(3):
for c in kori:
if c=="most_common":
if len(data["information"][i]["analysis"]["caption"][hori[j]]["all_posts_type"][c]) !=0 :
h=""
for g in range(len(data["information"][i]["analysis"]["caption"][hori[j]]["all_posts_type"][c])):
if g!=len(data["information"][i]["analysis"]["caption"][hori[j]]["all_posts_type"][c])-1:
h=h+data["information"][i]["analysis"]["caption"][hori[j]]["all_posts_type"][c][g][0]+"، "
else:
h+=data["information"][i]["analysis"]["caption"][hori[j]]["all_posts_type"][c][g][0]
tom[j].append(h)
else:
tom[j].append("")
else:
tom[j].append("{:.2f}".format(data["information"][i]["analysis"]["caption"][hori[j]]["all_posts_type"][c]))
if c=="averge_per_post":
avermax[0][j].append(data["information"][i]["analysis"]["caption"][hori[j]]["all_posts_type"][c])
elif c=="max_number":
avermax[1][j].append(data["information"][i]["analysis"]["caption"][hori[j]]["all_posts_type"][c])
sheet6_1=pd.DataFrame(data={"شرکتها":company,"افق زمانی":time_horizon,"یک ماه اخیر":tom[0],"سه ماه اخیر":tom[1],"کل":tom[2]})
capdia=[]
for i in range(2):
capdia.append(pd.DataFrame(
{
"Company":international_company_name_fa,
"Last Month":avermax[i][0],
"Last Three Months":avermax[i][1],
"Overal":avermax[i][2]},
columns=['Company', 'Last Month', 'Last Three Months','Overal']
))
del h,j,c,t,i,kori,tom,time_horizon,temp,company,avermax
########## sheet7 populars
company1=data["pop"]["companies"]["national"]["list"]
follo=[sheet3followers[national_company_name.index(i)] for i in company1]
company1_fa=[national_company_name_fa[national_company_name.index(i)] for i in company1]
sheet7a=pd.DataFrame(data={"Companies Popularitites Based on Followers (sorted in decending order)":company1_fa,"Followers":follo})
company1=data["pop"]["companies"]["international"]["list"]
follo=[sheet3_1followers[international_company_name.index(i)] for i in company1]
company1_fa=[international_company_name_fa[international_company_name.index(i)] for i in company1]
sheet7a_1=pd.DataFrame(data={"Companies Popularitites Based on Followers (sorted in decending order)":company1_fa,"Followers":follo})
del company1,follo
time_horizon=["last_month","last_three_months","overal"]
kind=["like","comment","view","engagement"]
sheeta=[]
sheeta_diagram=[]
kinda12=["Like","Comment","View","Engagement"]
for i in kind :
ranka=[[] for i in range(3)]
timie=[]
timie_fa=[]
for j in time_horizon:
timie_fa.append([national_company_name_fa[national_company_name.index(l)] for l in data["pop"]["national"][j][i]["list"]])
timie.append(data["pop"]["national"][j][i]["list"])
ranka[time_horizon.index(j)]=[(timie[time_horizon.index(j)].index(k))+1 for k in national_company_name ]
sheeta.append(pd.DataFrame(data={"یک ماه اخیر":timie_fa[0],"سه ماه اخیر":timie_fa[1],"کل":timie_fa[2]}))
sheeta_diagram.append(pd.DataFrame(
{
"Company":national_company_name_fa,
"Last Month":ranka[0],
"Last Three Months":ranka[1],
"Overal":ranka[2]
},
columns=["Company","Last Month","Last Three Months","Overal"]
))
sheeta_1=[]
timie=[]
sheeta_1diagram=[]
for i in kind :
timie=[]
timie_fa=[]
ranka=[[] for i in range(3)]
for j in time_horizon:
timie.append(data["pop"]["international"][j][i]["list"])
timie_fa.append([international_company_name_fa[international_company_name.index(l)] for l in data["pop"]["international"][j][i]["list"]])
ranka[time_horizon.index(j)]=[(timie[time_horizon.index(j)].index(k))+1 for k in international_company_name ]
sheeta_1.append(pd.DataFrame(data={"یک ماه اخیر":timie_fa[0],"سه ماه اخیر":timie_fa[1],"کل":timie_fa[2]}))
sheeta_1diagram.append(pd.DataFrame(
{
"Company":international_company_name_fa,
"Last Month":ranka[0],
"Last Three Months":ranka[1],
"Overal":ranka[2]
},
columns=["Company","Last Month","Last Three Months","Overal"]
))
sheeta_1diagram[kind.index(i)]= sheeta_1diagram[kind.index(i)].melt("Company",var_name="Time Horizon",value_name=kinda12[kind.index(i)])
del time_horizon,i,j,timie ,timie_fa
sheet7_0=pd.DataFrame(data={"Populars Social Medias":["Instagram","Telegram","Aparat","LinkdIn","Twitter","Facebook","Robica","iGap","Bale","Soroush","Whatsapp","Youtube","Pintrest"]})
sheet7_0_1=pd.DataFrame(data={"Populars Social Medias":["Facebook","Instagram","Youtube","Twitter","Pintrest","LinkdIn","Whatsapp"]})
#st.dataframe(sheet7_0)
sheet7_0data=[19,10,8,5,4,3,0,0,0,0,0,0,0]
she3=['19','10','8','5','4','3','0','0','0','0','0','0','0']
num=["Instagram","Telegram","Aparat","LinkdIn","Twitter","Facebook","Robica","iGap","Bale","Soroush","Whatsapp","Youtube","Pintrest"]
num_fa=["اینستاگرام","تلگرام","آپارات","لینکدین","توییتر","فیسبوک","روبیکا","آی گپ","بله","سروش","واتس اپ","یوتیوب","پینترست"]
df23 = pd.DataFrame(data={"Social Medias":num,"The Number of Companies That Are Active In It":sheet7_0data})
def left_align(s, props='text-align: left;'):
return props
df12 = pd.DataFrame(data={"شبکههای اجتماعی":num_fa,"تعداد شرکتها در هر شبکهی اجتماعی":she3})
#df12=df12.style.applymap(left_align)
sheet7_0data=[12,12,11,7,4,2,0]
she3=['12','12','11','7','4','2','0']
num=["Facebook","Instagram","Youtube","Twitter","Pintrest","LinkdIn","Whatsapp"]
num_fa=["فیسبوک","اینستاگرام","یوتیوب","توییتر","پینترست","لینکدین","واتس اپ"]
df23_1 = pd.DataFrame(data={"Social Medias":num,"The Number of Companies That Are Active In It":sheet7_0data})
def left_align(s, props='text-align: left;'):
return props
df12_1 = pd.DataFrame(data={"Social Medias":num_fa,"The Number of Companies":she3})
del num,she3,sheet7_0data
############# sheet8 content Anlaysis
maxi_national=[[0 for i in national_company_name2] for c in range(3)]
content_national=[["Other" for i in national_company_name2] for c in range(3)]
for i in national_company_name2:
ind=national_company_name2.index(i)
for f in ["last_month","last_three_months","overal"]:
inf=["last_month","last_three_months","overal"].index(f)
for j in data["information"][i]["analysis"]["caption"][f]["all_posts_type"]["anal"]:
if data["information"][i]["analysis"]["caption"][f]["all_posts_type"]["anal"][j]>maxi_national[inf][ind]:
maxi_national[inf][ind]= data["information"][i]["analysis"]["caption"][f]["all_posts_type"]["anal"][j]
content_national[inf][ind]=j.capitalize()
maxi_international=[[0 for i in international_company_name2] for c in range(3)]
content_international=[["Other" for i in international_company_name2] for c in range(3)]
for i in international_company_name2:
ind=international_company_name2.index(i)
for f in ["last_month","last_three_months","overal"]:
inf=["last_month","last_three_months","overal"].index(f)
for j in data["information"][i]["analysis"]["caption"][f]["all_posts_type"]["anal"]:
if data["information"][i]["analysis"]["caption"][f]["all_posts_type"]["anal"][j]>maxi_international[inf][ind]:
maxi_international[inf][ind]= data["information"][i]["analysis"]["caption"][f]["all_posts_type"]["anal"][j]
content_international[inf][ind]=j.capitalize()
def asem(a):
if isinstance(a,str):
if a=="Mahsol":
return "معرفی محصولات"
elif a=="Takhfif":
return "معرفی کالاهای تخفیف خورده"
elif a=="Jashn":
return "جشنوارهای فروش"
elif a=="Mosabeghe":
return "مسابقه"
elif a=="Other":
return "سایر محتواها"
else:
return a
else:
return a
national_pop_content=stat.mode([i for i in content_national[0] if i!="Other"])
international_pop_content=stat.mode([i for i in content_international[0] if i!="Other"])
sheet8=pd.DataFrame(data={
"شرکت":national_company_name_fa,
"یک ماه اخیر": [asem(i) for i in content_national[0]],
"سه ماه اخیر":[asem(i) for i in content_national[1]],
"کل":[asem(i) for i in content_national[2]],
"ind":[i+1 for i in range(19)]
})
sheet8diagram=pd.DataFrame(data={
"Content":[asem("Mosabeghe"),asem("Jashn"),asem("Takhfif"),asem("Mahsol")],
"Last Month":[content_national[0].count("Mosabeghe"),content_national[0].count("Jashn"),content_national[0].count("Takhfif"),content_national[0].count("Mahsol")],
"Last Three Months":[content_national[1].count("Mosabeghe"),content_national[1].count("Jashn"),content_national[1].count("Takhfif"),content_national[1].count("Mahsol")],
"Overal":[content_national[2].count("Mosabeghe"),content_national[2].count("Jashn"),content_national[2].count("Takhfif"),content_national[2].count("Mahsol")]
})
sheet8_1diagram=pd.DataFrame(data={
"Content":[asem("Mosabeghe"),asem("Jashn"),asem("Takhfif"),asem("Mahsol")],
"Last Month":[content_international[0].count("Mosabeghe"),content_international[0].count("Jashn"),content_international[0].count("Takhfif"),content_international[0].count("Mahsol")],
"Last Three Months":[content_international[1].count("Mosabeghe"),content_international[1].count("Jashn"),content_international[1].count("Takhfif"),content_international[1].count("Mahsol")],
"Overal":[content_international[2].count("Mosabeghe"),content_international[2].count("Jashn"),content_international[2].count("Takhfif"),content_international[2].count("Mahsol")]
})
sheet8_1=pd.DataFrame(data={
"شرکت":international_company_name_fa,
"یک ماه اخیر": [asem(i) for i in content_international[0]],
"سه ماه اخیر":[asem(i) for i in content_international[1]],
"کل":[asem(i) for i in content_international[2]],
"ind":[i+1 for i in range(12)]
})
del maxi_national,maxi_international,content_international,content_national
################ sheet 9 popular posts
############### ave posting per day
ave_post_perday_national_last_month=0
for i in data["pop"]["time"]["national"]["day"]["last_month"]:
ave_post_perday_national_last_month+=i
ave_post_perday_national_last_month=ave_post_perday_national_last_month/(33*7*19)
ave_post_perday_national_last_three_month=0
for i in data["pop"]["time"]["national"]["day"]["last_three_months"]:
ave_post_perday_national_last_three_month+=i
ave_post_perday_national_last_three_month=ave_post_perday_national_last_three_month/(99*7*19)
ave_post_perday_international_last_month=0
for i in data["pop"]["time"]["international"]["day"]["last_month"]:
ave_post_perday_international_last_month+=i
ave_post_perday_international_last_month=ave_post_perday_international_last_month/(33*7*12)
ave_post_perday_international_last_three_month=0
for i in data["pop"]["time"]["international"]["day"]["last_three_months"]:
ave_post_perday_international_last_three_month+=i
ave_post_perday_international_last_three_month=ave_post_perday_international_last_three_month/(99*7*12)
############################ Sheet Data
num_image_national,num_posts_national,num_video_national=[[],[],[]],[[],[],[]],[[],[],[]]
for i in national_company_name2:
k=-1
for j in ["last_month","last_three_months","overal"]:
k+=1
num_posts_national[k].append(len(data["information"][i]["analysis"]["time"]["analayzed_post_time"][j]["all_posts_type"]))
num_image_national[k].append(len(data["information"][i]["analysis"]["time"]["analayzed_post_time"][j]["image"]))
num_video_national[k].append(len(data["information"][i]["analysis"]["time"]["analayzed_post_time"][j]["video"]))
sheet_data=pd.DataFrame(data={
"Company":national_company_name_fa,
"Last Month Total Posts":num_posts_national[0],
"Last Month Image":num_image_national[0],
"Last Month Video":num_video_national[0],
"Last Three Months Total Posts":num_posts_national[1],
"Last Three Months Image":num_image_national[1],
"Last Three Months Video":num_video_national[1],
"Overal Total Posts":num_posts_national[2],
"Overal Image":num_image_national[2],
"Overal Video":num_video_national[2],
})
num_image_national,num_posts_national,num_video_national=[[],[],[]],[[],[],[]],[[],[],[]]
for i in international_company_name2:
k=-1
for j in ["last_month","last_three_months","overal"]:
k+=1
num_posts_national[k].append(len(data["information"][i]["analysis"]["time"]["analayzed_post_time"][j]["all_posts_type"]))
num_image_national[k].append(len(data["information"][i]["analysis"]["time"]["analayzed_post_time"][j]["image"]))
num_video_national[k].append(len(data["information"][i]["analysis"]["time"]["analayzed_post_time"][j]["video"]))
sheet_1data=pd.DataFrame(data={
"Company":international_company_name_fa,
"Last Month Total Posts":num_posts_national[0],
"Last Month Image":num_image_national[0],
"Last Month Video":num_video_national[0],
"Last Three Months Total Posts":num_posts_national[1],
"Last Three Months Image":num_image_national[1],
"Last Three Months Video":num_video_national[1],
"Overal Total Posts":num_posts_national[2],
"Overal Image":num_image_national[2],
"Overal Video":num_video_national[2],
})
del num_image_national,num_posts_national,num_video_national
########### ranks
rank=[i for i in sheet3followers]
rank.sort()
eer=len(sheet3followers)
ranki=[(eer-rank.index(i)) for i in sheet3followers]
eer=len(sheet3_1followers)
rank=[i for i in sheet3_1followers]
rank.sort()
ranki_1=[(eer-rank.index(i)) for i in sheet3_1followers]
del rank
#########3 number of posts analysed
number_posts_analysed=0
number_posts_analysed_national=0
number_posts_analysed_international=0
max_national=0
max_national_account=""
min_national=90000000
min_national_account=""
max_international=0
max_international_account=""
min_international=90000000
min_international_account=""
for i in data["information"]:
if i in national_company_name2:
number_posts_analysed_national+=data["information"][i]["analysis"]["number_of_posts_analysed"]
if data["information"][i]["analysis"]["number_of_posts_analysed"]>=max_national:
max_national=data["information"][i]["analysis"]["number_of_posts_analysed"]
max_national_account=i
if data["information"][i]["analysis"]["number_of_posts_analysed"]<=min_national:
min_national=data["information"][i]["analysis"]["number_of_posts_analysed"]
min_national_account=i
else:
number_posts_analysed_international+=data["information"][i]["analysis"]["number_of_posts_analysed"]
if data["information"][i]["analysis"]["number_of_posts_analysed"]>=max_international:
max_international=data["information"][i]["analysis"]["number_of_posts_analysed"]
max_international_account=i
if data["information"][i]["analysis"]["number_of_posts_analysed"]<=min_international:
min_international=data["information"][i]["analysis"]["number_of_posts_analysed"]
min_international_account=i
number_posts_analysed+=data["information"][i]["analysis"]["number_of_posts_analysed"]
dash_1=pd.DataFrame(data={"خلاصه":["تعداد شرکتهای داخلی مورد بررسی","تعداد شرکتهای بین المللی مورد بررسی","تعداد پست های مورد بررسی","تعداد پست های شرکتهای داخلی بررسی شده",
"تعداد پستهای شرکت های بین المللی بررسی شده","میانگین تعداد پستهای بررسی شده برای هر شرکت داخلی","میانگین تعداد پست های بررسی شده برای هر شرکت بین المللی",
"بیشترین تعداد پست های بررسی شده برای یک شرکت داخلی","حساب کاربری بیشترین تعداد پست های بررسی شده برای یک شرکت داخلی ",
"کم ترین میزان پست های بررسی شده برای یک شرکت داخلی","حساب کاربری کم ترین میزان پست های بررسی شده برای یک شرکت داخلی",
"بیشترین تعداد پستهای بررسی شده برای یک شرکت بین المللی","حساب کاربری بیشترین تعداد پستهای بررسی شده برای یک شرکت بین المللی",
"کم ترین تعداد پست های بررسی شده برای یک شرکت بین المللی","حساب کاربری کم ترین میزان پست های بررسی شده برای یک شرکت بین المللی"
],
"تعداد":[19,12,number_posts_analysed,number_posts_analysed_national,number_posts_analysed_international,"{:.1f}".format(number_posts_analysed_national/19),
"{:.1f}".format(number_posts_analysed_international/12),
max_national,max_national_account,min_national,min_national_account,max_international,max_international_account,min_international,min_international_account
]
})
del max_national,max_national_account,min_international,min_international_account,min_national,min_national_account,max_international,max_international_account
if jkl:
########## Sidebar
option1=["داشبورد","شرکتهای داخلی","شرکتهای بین المللی","آپارات","خلاصه"]
option2_fa=["شبکههای اجتماعی","جایگاه در شبکههای اجتماعی","ماهیت پست ها","تحلیل پست ها","تحلیل هشتگ ها","تحلیل اموجی ها","تحلیل متن ها","محبوب ها","تحلیل محتوای پستها","پیوند پستهای محبوب","تحلیل میزان تعامل شرکتها","زمان بارگذاری پستها"]
option3_fa=["شبکههای اجتماعی","تعداد دنبال کنندگان","پسندیده شدن","نظرات","بازدید","مشارکت"]
option2=["Social Meidas","Popularities","Form of Posts","Posts Analysis","Hashtags Analysis","Emoji Analysis","Caption Analysis","Populars","Content Analysis","Popular Posts Link","Interaction Analysis","Posting Time"]
option3=["Social Medias","Followers","Like","Comment","View","Engagement"]
option_aparat=["افق کوروش","دیجی کالا","رفاه"]
select1=st.sidebar.selectbox("انتخاب نوع شرکتها برای تحلیل",option1,key=1)
st.title("تحلیل بر خط شبکههای اجتماعی\n مهدی احمدی فرد")
##### Aparat
if select1=="آپارات":
st.markdown("""
در اینجا شما میتوانید ویدیوهای محبوب در آپارات را مشاهده نمایید.
""")
select_apa=st.selectbox("شرکت را انتخاب کنید",option_aparat,key=29)
optionah=["Playlists","Populars"]
#select_optionah=st.sidebar.selectbox("Choose the info you want to see",optionah,key=229)
ip_aparat=["okclub","digikala","myrefah"]
insd=ip_aparat[option_aparat.index(select_apa)]
st.title("دسته بندی ویدیوها")
pllay=[i["title"].replace(""," ") for i in data["aparat"][insd]["playlist"]]
pllay=pd.DataFrame(data={"Playlist":pllay})
AgGrid(pllay,theme="streamlit")
#if select_optionah==optionah[1]:
df=pd.DataFrame(data={
"شرکت":select_apa,
"رتبه نخست": [f'1={data["aparat"][insd]["posts"][data["aparat"][insd]["sort_view"][0]]["frame"]}'],
"رتبه دوم":[f'2={data["aparat"][insd]["posts"][data["aparat"][insd]["sort_view"][1]]["frame"]}'],
"رتبه سوم":[f'3={data["aparat"][insd]["posts"][data["aparat"][insd]["sort_view"][2]]["frame"]}'],
"رتبه چهارم":[f'3={data["aparat"][insd]["posts"][data["aparat"][insd]["sort_view"][3]]["frame"]}']
})
for i in ["رتبه نخست","رتبه دوم","رتبه سوم","رتبه چهارم"]:
df[i]=df[i].apply(make_clickable)
df=df.to_html(escape=False)
st.header("برای مشاهده پستها بر روی اعداد کلیک کنید")
st.write(df,unsafe_allow_html=True)
st.title("مشاهده مستقیم ویدیوها")
st.header("پر بازدید ترین ویدیو")
st.write(f'''