ここから本文です
裏・メモとか雑記とか♪
投稿一覧に戻る

裏・メモとか雑記とか♪の掲示板

>>16216


> 試しにChatGPTさんに書いてもらった、米国SEC版を書いてくれました

EDINET上のXBRL形式の決算短信データを抽出して、「売上高」や「営業利益」など項目ごとに分類整理するコードをPythonで書いてみてください
▶ChatGPT
EDINETからXBRL形式の決算短信データを抽出し、特定の項目を分類整理するためには、lxmlやxml.etree.ElementTreeなどのライブラリを使用してXMLを解析する必要があります。また、XBRLの構造は企業ごとに異なるため、具体的なXMLの構造に合わせてコードを書く必要があります。

以下は、一般的なXBRLの解析のスケッチです。これを参考に、具体的なXBRLファイルの構造に合わせてコードを調整してください。

import requests
from bs4 import BeautifulSoup
from zipfile import ZipFile
from io import BytesIO
import xml.etree.ElementTree as ET

def download_xbrl_data(cik, doc_type='edgar', start=0, count=5):
base_url = f'https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK={cik}&type={doc_type}&start={start}&count={count}&output=atom'
response = requests.get(base_url)

  • >>16217

    if response.status_code == 200:
    soup = BeautifulSoup(response.content, 'xml')
    entries = soup.find_all('entry')
    xbrl_links = [entry.link.href.text for entry in entries if 'xbrl' in entry.link.type.text.lower()]
    return xbrl_links
    else:
    print(f"Failed to fetch XBRL data. Status code: {response.status_code}")
    return []

    def extract_xbrl_data(xbrl_url):
    response = requests.get(xbrl_url)
    with ZipFile(BytesIO(response.content)) as zip_file:
    # Assuming there is only one XBRL file in the ZIP archive
    xbrl_file = zip_file.namelist()[0]
    xbrl_content = zip_file.read(xbrl_file)
    return xbrl_content

    def parse_xbrl_data(xbrl_content, namespaces):
    root = ET.fromstring(xbrl_content)
    results = {}

    for key, value in namespaces.items():
    ET.register_namespace(key, value)