[JAVA] Obtenir la liste de codes EDINET en Python

9uant effectue des analyses quantitatives et de la science des données dans le domaine financier. Nous faisons aussi twitter, donc si vous êtes intéressé, suivez-nous!

Je voudrais le partager car il était difficile d'acquérir les données de table qui correspondent au code titres et au code EDINET.

Code EDINET et code titres

Le code des valeurs mobilières est un numéro à 4 chiffres utilisé pour obtenir des informations boursières des sociétés cotées. En fait, ajoutez 0 à la fin pour obtenir 5 chiffres. Le code EDINET est un alphabet + numéro utilisé lors de l'acquisition d'informations sur l'entreprise sur EDINET, qui est une base de données d'informations sur les résultats financiers.

Nous présenterons comment convertir un code de titres à 4 chiffres en code EDINET.

Obtenir la liste des codes EDINET

[EDINET Taxomino et liste des codes](https://disclosure.edinet-fsa.go.jp/E01EW/BLMainController.jsp?uji.bean=ee.bean.W1E62071.EEW1E62071Bean&uji.verb=W1E62071InitDisplay&uji.verb=W1E62071InitDisplay&uji.verb=W1E62071InitDisplay&20WION=71000WID=1000WID=1000WD Au bas de 2 & dflg = 0 & iflg = 0), il y a une "liste de codes EDINET". Cette fois, nous utiliserons Python pour obtenir ces données csv.

Vous devez télécharger le pilote Chrome à l'avance. Veuillez télécharger depuis site de téléchargement chromedriver en fonction de votre version de chrome.

get_edinet_code_csv.py


import glob
import os
import shutil
import time
from selenium import webdriver
import zipfile

def get_edinet_code_csv(edinetcode_dir):
    '''
Téléchargez le fichier csv de la liste de codes EDINET dans le répertoire spécifié
    Prameter:
        edinetcode_dir: str
Répertoire pour télécharger les fichiers csv de la liste de codes EDINET
        
    Return:
        edinet_code_list_path: str
Chemin où se trouve le fichier csv de la liste de codes EDINET
    '''

    '''
    #Supprimer le répertoire s'il existe déjà
    if os.path.exists(edinetcode_dir):
        shutil.rmtree(edinetcode_dir)
    '''

    #Télécharger le fichier zip de Chrome avec du sélénium
    chromeOptions = webdriver.ChromeOptions()
    prefs = {"download.default_directory" : edinetcode_dir} #Spécification du répertoire de destination de l'enregistrement
    chromeOptions.add_experimental_option("prefs",prefs)
    chromeOptions.add_argument('--headless') #Masquer le navigateur

    driver = webdriver.Chrome('chemin de chromedriver', chrome_options=chromeOptions)
    #Accéder à la liste de codes EDINET d'EDINET
    driver.get('https://disclosure.edinet-fsa.go.jp/E01EW/BLMainController.jsp?uji.bean=ee.bean.W1E62071.EEW1E62071Bean&uji.verb=W1E62071InitDisplay&TID=W1E62071&PID=W0EZ0001&SESSIONKEY=&lgKbn=2&dflg=0&iflg=0')
    driver.execute_script("EEW1E62071EdinetCodeListDownloadAction('lgKbn=2&dflg=0&iflg=0&dispKbn=1');")
    time.sleep(5)
    driver.quit()

    #Obtenez le chemin du fichier zip téléchargé
    list_of_files = glob.glob(edinetcode_dir+r'/*') #Ajouter un caractère générique
    latest_file = max(list_of_files, key=os.path.getctime) #Obtenez le chemin du fichier avec la dernière date et heure de création

    #Extrayez le fichier zip dans le même répertoire
    zip_f = zipfile.ZipFile(latest_file)
    zip_f.extractall(edinetcode_dir)
    zip_f.close()

    #Supprimer le fichier zip
    os.remove(latest_file)
    
    list_of_files = glob.glob(edinetcode_dir+r'/*') #Ajouter un caractère générique
    return max(list_of_files, key=os.path.getctime) #Renvoie le chemin du fichier csv extrait

Code valeur → code EDINET

Convertissez la séquence de codes de titres en séquence de codes EDINET.

stockcode_to_edinetcode.py


import numpy as np
import pandas as pd

edinet_code_path=get_edinet_code_csv(r"Liste de codes EDINET chemin du répertoire de destination de téléchargement csv")

edinet_code_df=pd.read_csv(edinet_code_path,encoding="cp932",header=1,usecols=['Code EDINET', 'Nom de l'expéditeur', 'Code des valeurs'])

def stockcode_to_edinetcode(codes):
    '''
Obtenez la séquence de code EDINET correspondant à (la séquence de) le code de titres
    Parameter:
        codes: int or float or str or list
Code titre ou son tableau
    
    Return:
        edinet_codes: list
Tableau de code EDINET correspondant à l'ordre des arguments
    '''
    
    #Convertir tous les arguments en un tableau
    if type(codes) in (str, int, float):
        codes = [int(codes)]
        
    edinet_codes = []
    
    for code in codes:
        #Convertir le code de titres à 4 chiffres en 5 chiffres
        if len(str(int(code)))==4:
            code = str(int(code))+'0'
            
        tmp = edinet_code_df[edinet_code_df['Code des valeurs']==int(code)]['Code EDINET']
        
        if len(tmp)==0: #Np si le code EDINET correspondant n'existe pas.Renvoie nan
            edinet_codes.append(np.nan)
        else:
            edinet_codes.append(tmp.to_list()[0])
            
    return edinet_codes

Recommended Posts

Obtenir la liste de codes EDINET en Python
[python] Récupère la liste des classes définies dans le module
Obtenez le chemin du bureau en Python
Obtenez le chemin du script en Python
Obtenez le chemin du bureau en Python
Obtenez le nom d'hôte en Python
Obtenez le nombre d'éléments spécifiques dans la liste python
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Prenez la somme logique de List en Python (fonction zip)
[Python] Récupère le code de caractère du fichier
[python] Obtenez le rang des valeurs dans la liste par ordre croissant / décroissant
Liste triée en Python
Liste triée en Python
Liste de filtres en Python
La chose semblable à une recherche de liste en Python
Obtenir la date en Python
[Python] Récupérez les fichiers dans le dossier avec Python
Obtenez la météo à Osaka via l'API Web (python)
[Python] Trier la liste de pathlib.Path dans l'ordre naturel
Récupérer l'appelant d'une fonction en Python
Copiez la liste en Python
Obtenir uniquement les éléments de sous-classe dans une liste
Obtenez le titre de la fenêtre du système X Window en Python
Comment obtenir les fichiers dans le dossier [Python]
Exemple de code pour obtenir oauth_token et oauth_token_secret de l'API Twitter en Python 2.7
Obtenez des commentaires YouTube en Python
Obtenez le code du pays avec python
Comment obtenir le nom de la variable lui-même en python
Comment obtenir le nombre de chiffres en Python
Obtenez le mois dernier en Python
Trouver des erreurs en Python
[Python] Obtenez les nombres dans l'image graphique avec OCR
Récupérer le code retour d'un script Python depuis bat
Obtenez des résultats au format dict avec Python psycopg2
Obtenir la taille (nombre d'éléments) de Union Find en Python
Obtenez la valeur sélectionnée dans le menu déroulant Selenium Python VBA
Obtenir la taille du terminal en Python
[Python] Récupérez le mois précédent
Liste du code Python utilisé dans l'analyse de Big Data
[Python] Obtenir la liste des noms ExifTags de la bibliothèque Pillow
Obtenir explicitement EOF en python
Méthodes disponibles dans la liste
Générer du code QR en Python
[Python] Affiche toutes les combinaisons d'éléments de la liste
Obtenez des notes Evernote en Python
Obtenez l'URL de la destination de la redirection HTTP en Python
Obtenir des éléments de liste en Python
[Python] Comment afficher les valeurs de liste dans l'ordre
Code de caractère appris en Python
Comment obtenir une liste de fichiers dans le même répertoire avec python
Obtenez des synonymes japonais avec Python
Assurez-vous que tous les éléments de la liste sont les mêmes en Python
Obtenez le type MIME en Python et déterminez le format de fichier
En Python, les éléments de la liste sont triés et sortis sous forme d'éléments et de multiples.
Développer une bibliothèque pour obtenir la liste des collections Kindle en Python
Obtenez la valeur tout en spécifiant la valeur par défaut de dict en Python
Obtenir l'index de la nième valeur la plus grande / la plus petite de la liste en Python
Obtenez automatiquement le port où Arduino est bloqué en Python
Comment obtenir une liste d'exceptions intégrées pour python
Obtenez la date et l'heure actuelles en Python, en tenant compte du décalage horaire