Ruft die EDINET-Codeliste in Python ab

9uant betreibt quantitative Analyse und Datenwissenschaft im Finanzbereich. Wir machen auch Twitter, also wenn Sie interessiert sind, folgen Sie uns bitte!

Ich möchte es teilen, weil es schwierig war, die Tabellendaten zu erfassen, die dem Wertpapiercode und dem EDINET-Code entsprechen.

EDINET-Code und Wertpapiercode

Der Wertpapiercode ist eine 4-stellige Nummer, mit der Aktieninformationen von börsennotierten Unternehmen abgerufen werden. Fügen Sie am Ende 0 hinzu, um 5 Stellen zu erhalten. Der EDINET-Code ist ein Alphabet + eine Zahl, die beim Erfassen von Unternehmensinformationen zu EDINET verwendet wird, einer Datenbank mit Informationen zu Finanzergebnissen.

Wir werden vorstellen, wie ein 4-stelliger Wertpapiercode in einen EDINET-Code konvertiert wird.

Holen Sie sich die EDINET-Codeliste

EDINET Taxomino und Codeliste Am Ende von 2 & dflg = 0 & iflg = 0) befindet sich eine "EDINET-Codeliste". Dieses Mal werden wir Python verwenden, um diese CSV-Daten abzurufen.

Sie müssen den Chrome-Treiber im Voraus herunterladen. Bitte laden Sie von chromedriver download site entsprechend Ihrer Chrome-Version herunter.

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):
    '''
Laden Sie die CSV-Datei der EDINET-Codeliste in das angegebene Verzeichnis herunter
    Prameter:
        edinetcode_dir: str
Verzeichnis zum Herunterladen von CSV-Dateien der EDINET-Codeliste
        
    Return:
        edinet_code_list_path: str
Der Pfad, in dem die CSV-Datei der EDINET-Codeliste vorhanden ist
    '''

    '''
    #Löschen Sie das Verzeichnis, falls es bereits vorhanden ist
    if os.path.exists(edinetcode_dir):
        shutil.rmtree(edinetcode_dir)
    '''

    #Laden Sie die Zip-Datei von Chrome mit Selen herunter
    chromeOptions = webdriver.ChromeOptions()
    prefs = {"download.default_directory" : edinetcode_dir} #Angabe des Speicherzielverzeichnisses
    chromeOptions.add_experimental_option("prefs",prefs)
    chromeOptions.add_argument('--headless') #Browser ausblenden

    driver = webdriver.Chrome('Chromedriver Pfad', chrome_options=chromeOptions)
    #Greifen Sie auf die EDINET-Codeliste von EDINET zu
    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()

    #Holen Sie sich den Pfad der heruntergeladenen Zip-Datei
    list_of_files = glob.glob(edinetcode_dir+r'/*') #Platzhalter hinzufügen
    latest_file = max(list_of_files, key=os.path.getctime) #Rufen Sie den Dateipfad mit dem Datum und der Uhrzeit der letzten Erstellung ab

    #Extrahieren Sie die Zip-Datei in dasselbe Verzeichnis
    zip_f = zipfile.ZipFile(latest_file)
    zip_f.extractall(edinetcode_dir)
    zip_f.close()

    #Zip-Datei löschen
    os.remove(latest_file)
    
    list_of_files = glob.glob(edinetcode_dir+r'/*') #Platzhalter hinzufügen
    return max(list_of_files, key=os.path.getctime) #Gibt den Pfad der extrahierten CSV-Datei zurück

Wertpapiercode → EDINET-Code

Konvertieren Sie die Wertpapiercodesequenz in die EDINET-Codesequenz.

stockcode_to_edinetcode.py


import numpy as np
import pandas as pd

edinet_code_path=get_edinet_code_csv(r"EDINET-Codeliste CSV-Download-Zielverzeichnispfad")

edinet_code_df=pd.read_csv(edinet_code_path,encoding="cp932",header=1,usecols=['EDINET-Code', 'Name des Absenders', 'Wertpapiercode'])

def stockcode_to_edinetcode(codes):
    '''
Holen Sie sich die EDINET-Codesequenz, die dem Wertpapiercode entspricht
    Parameter:
        codes: int or float or str or list
Wertpapiercode oder sein Array
    
    Return:
        edinet_codes: list
Array von EDINET-Code entsprechend der Reihenfolge der Argumente
    '''
    
    #Konvertieren Sie alle Argumente in ein Array
    if type(codes) in (str, int, float):
        codes = [int(codes)]
        
    edinet_codes = []
    
    for code in codes:
        #Konvertieren Sie den 4-stelligen Wertpapiercode in einen 5-stelligen
        if len(str(int(code)))==4:
            code = str(int(code))+'0'
            
        tmp = edinet_code_df[edinet_code_df['Wertpapiercode']==int(code)]['EDINET-Code']
        
        if len(tmp)==0: #Np wenn der entsprechende EDINET-Code nicht existiert.Gibt nan zurück
            edinet_codes.append(np.nan)
        else:
            edinet_codes.append(tmp.to_list()[0])
            
    return edinet_codes

Recommended Posts

Ruft die EDINET-Codeliste in Python ab
[Python] Ruft die Liste der im Modul definierten Klassen ab
Holen Sie sich den Desktop-Pfad in Python
Holen Sie sich den Skriptpfad in Python
Holen Sie sich den Desktop-Pfad in Python
Holen Sie sich den Hostnamen in Python
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
Nehmen Sie die logische Summe von List in Python (Zip-Funktion)
[Python] Ruft den Zeichencode der Datei ab
[Python] Ermittelt den Rang der Werte in der Liste in aufsteigender / absteigender Reihenfolge
Sortierte Liste in Python
Sortierte Liste in Python
Filterliste in Python
Die findähnliche Sache der Liste in Python
Holen Sie sich Datum in Python
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Holen Sie sich das Wetter in Osaka über Web-API (Python)
[Python] Sortieren Sie die Liste von pathlib.Path in natürlicher Reihenfolge
Holen Sie sich den Aufrufer einer Funktion in Python
Kopieren Sie die Liste in Python
Holen Sie sich nur Unterklassenelemente in eine Liste
Ruft den Fenstertitel des X-Fenstersystems in Python ab
So erhalten Sie die Dateien im Ordner [Python]
Codebeispiel zum Abrufen von oauth_token und oauth_token_secret der Twitter-API in Python 2.7
Holen Sie sich YouTube-Kommentare in Python
Holen Sie sich den Ländercode mit Python
So erhalten Sie den Variablennamen selbst in Python
So ermitteln Sie die Anzahl der Stellen in Python
Holen Sie sich letzten Monat in Python
Finde Fehler in Python
[Python] Holen Sie sich die Zahlen im Diagramm mit OCR
Holen Sie sich den Rückkehrcode eines Python-Skripts von bat
Mit Python psycopg2 erhalten Sie Ergebnisse im Diktatformat
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
Rufen Sie den im Pulldown-Menü Selenium Python VBA ausgewählten Wert ab
Holen Sie sich die Terminalgröße in Python
[Python] Holen Sie sich den Vormonat
Liste des Python-Codes, der bei der Big-Data-Analyse verwendet wird
[Python] Ruft die Liste der ExifTags-Namen der Pillow-Bibliothek ab
Holen Sie sich explizit EOF in Python
In der Liste verfügbare Methoden
Generieren Sie QR-Code in Python
[Python] Gibt alle Kombinationen von Elementen in der Liste aus
Holen Sie sich Evernote-Notizen in Python
Rufen Sie die URL des HTTP-Umleitungsziels in Python ab
Abrufen von Listenelementen in Python
[Python] So geben Sie Listenwerte der Reihe nach aus
In Python gelernter Zeichencode
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
Holen Sie sich japanische Synonyme mit Python
Stellen Sie sicher, dass alle Elemente in der Liste in Python identisch sind
Holen Sie sich den MIME-Typ in Python und bestimmen Sie das Dateiformat
In Python werden die Elemente in der Liste sortiert und als Elemente und Vielfache ausgegeben.
Entwickelte eine Bibliothek, um die Kindle-Sammlungsliste in Python abzurufen
Rufen Sie den Wert ab, während Sie den Standardwert aus dict in Python angeben
Ruft den Index des n-ten größten / kleinsten Werts in der Liste in Python ab
Holen Sie sich automatisch den Port, an dem Arduino in Python steckt
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
Holen Sie sich das aktuelle Datum und die aktuelle Uhrzeit in Python unter Berücksichtigung des Zeitunterschieds