import csv
import holidays
import matplotlib.pyplot as plt

#Inicializar datas
hoje = date.today()
date2 = hoje.strftime("%d/%m/%Y")  #formato da data na URL
date3 = hoje - timedelta(days=4)
date4 = date3.strftime("%d/%m/%Y")
date9 = date(2017, 2, 1)  #cópia
date10 = date9.strftime("%d/%m/%Y")

#Inicializar listas
row_list = list()
di = []
feriados = holidays.Brazil()
d30 = None
d60 = None
d90 = None
d180 = None
d360 = None
d1800 = None
d3600 = None
d10800 = None

#Inicializar browser
driver = webdriver.Chrome()
driver.get(
    "http://www2.bmf.com.br/pages/portal/bmfbovespa/boletim1/TxRef1.asp")

#Loop
예제 #2
0
import matplotlib as plt
import plotly.graph_objects as go
import streamlit as st
import numpy as np
import pandas as pd
from plotly.subplots import make_subplots
from statsmodels.tsa.seasonal import seasonal_decompose
import holidays
br_holidays = holidays.Brazil()


class VizSerie:
    def __init__(self, df):
        self.df = df

    def simplePlotSeries(self):

        df = self.df.copy()

        df['date'] = df.index.date

        df['feriado'] = df['date'].apply(lambda x: x in br_holidays)

        df['DiaDaSemana'] = df.index.dayofweek

        df['fimDeSemana'] = df['DiaDaSemana'].apply(lambda x: x == 5 or x == 6)

        dfDiaSemana = df[(df['fimDeSemana'] == 0) & (df['feriado'] == 0)]

        trace1 = go.Scatter(x=dfDiaSemana.index,
                            y=dfDiaSemana['y'],
예제 #3
0
#!/usr/bin/python3
import calendar
import holidays
import sys
from datetime import date, timedelta

diasdasemana = ["Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"]

def days(start, end, step=timedelta(days=1)):
    curr = start
    while curr <= end:
        yield curr
        curr += step


if __name__ == "__main__":

    dias = list(days(date(2020, 1, 1), date(2020, 12, 31)))

    for a in dias:
        if str(a) in holidays.Brazil():
            print(str(a) + " | " + diasdasemana[a.weekday()] + " | Feriado |")
        elif a.weekday() in range(2,7):
            print(str(a) + " | " + diasdasemana[a.weekday()] + " | ")
            
                
import locale
from datetime import datetime

import holidays
import numpy as np
import pandas as pd
from sqlalchemy import create_engine

# Inserir o caminho dos dados aqui. O python faz o resto
data_home = '/home/elson/projeto_etl/data'

# definindo a linguagem para PT_BR
locale.setlocale(locale.LC_ALL, 'pt_BR.UTF-8')

# criando uma lista com os feriados no Brasil no período:
feriados_bra = holidays.Brazil()
feriados = []
for feriado in feriados_bra['2002-12-31':'2003-12-31']:
    feriados.append(feriado)

# Criando dataframe vazio para rececber os dados de tempo
df = pd.DataFrame()
# utilizando o método pandas.date_range para gerar um iterável de datas e
# O END É EXCLUSIVO, OU SEJA, SE FOR INFORMADA A ÚLTIMA DATA PRESENTE NO
# DATASET, PERDEM-SE REGISTROS
df['data'] = pd.date_range(start='31/12/2002', end='31/12/2003')
"""redefinindo a coluna para ser o nome de data
criando as demais colunas
"""
df['mes_nome'] = df['data'].dt.month_name(locale="pt_BR.UTF-8")
df['mes_abreviado'] = df['data'].dt.month_name(locale="pt_BR.UTF-8")
예제 #5
0
 def __init__(self):
     self.lista_anos = ['2014', '2015', '2016', '2017', '2018', '2019']
     feriados = holidays.Brazil()
     self.lista_feriados = feriados['2020-01-01':'2020-12-31']
예제 #6
0
# ### Definindo os feriados

# In[90]:

#Zerando os ids
df5 = df5.reset_index()
tam = df5.shape[0]
df5['id'] = range(tam)
df5 = df5.drop(columns=['index'])
df5.head()

# In[91]:

#Conferindo a existência de feriados na data_inversa
df5['data_inversa'][0] in holidays.Brazil()

# In[92]:

#Criando nova coluna zerada de feriados
df5['Feriado'] = 0

df5['Feriado'].value_counts()

# In[93]:

#Lista de feriados no Brasil
feriado = holidays.Brazil()

#Lista com o tamanho do dataframe
tam_list = list(range(df5.shape[0]))